SWIFT中将信息保存到plist文件内
2015-07-18 21:56
393 查看
在项目中可能我们需要保存一些数据到plist文件中,以下就本人在学习过程中的笔记,不成熟的地方请指出。
可能我有一个类叫做Student
encodeWithCoder方法中,每一个属性设置为一个关键字,用于序列化编码,以便我们在init(coder aDecoder:NSCoder)中解析回来
以下是两个保存用加载plist数据的方法
在UI启动的时候加入loadStudentsData()方法,每次有改变students数组的时候调用saveStudentsData()方法
可能我有一个类叫做Student
import UIKit class Student: NSObject { var text:String var age:Bool init(text:String,age:Int) { self.text = text self.age = age } //从nsobject中解析回来 init(coder aDecoder:NSCoder){ self.text = aDecoder.decodeObjectForKey("Text") as! String self.age = aDecoder.decodeObjectForKey("Age") as! Int } //编码成object func encodeWithCoder(aCoder:NSCoder){ aCoder.encodeObject(text, forKey: "Text") aCoder.encodeObject(checked, forKey: "Age") } }
encodeWithCoder方法中,每一个属性设置为一个关键字,用于序列化编码,以便我们在init(coder aDecoder:NSCoder)中解析回来
以下是两个保存用加载plist数据的方法
var students:[Student] = [Student]() func loadStudentsData() { let path = self.dataFilePath() //声明文件管理器 let defaultManager = NSFileManager() if defaultManager.fileExistsAtPath(path) { let data = NSData(contentsOfFile: path) //解码器 let archive = NSKeyedUnarchiver(forReadingWithData: data!) students = archive.decodeObjectForKey("Students") as! Array //结束解码 archive.finishDecoding() } else { saveStudentsData() } } func saveStudentsData() { var data = NSMutableData() //聲明一個歸檔處理對象 var archive = NSKeyedArchiver(forWritingWithMutableData: data) //將arrData進行編碼 archive.encodeObject(students, forKey: "Students") archive.finishEncoding() //數據寫入 data.writeToFile(dataFilePath(), atomically: true) }
在UI启动的时候加入loadStudentsData()方法,每次有改变students数组的时候调用saveStudentsData()方法
相关文章推荐
- swift2 枚举类型
- SWIFT中获取配置文件路径的方法
- swift2 闭包
- swift2 函数
- swift QQ聊天界面 cell 的计算
- Swift面向对象之枚举
- 从零开始学swift(六)-iOS之做一款简单app
- Swift学习笔记系列——(9)属性
- swift 使用MAGearRefreshControl控件刷新
- swift 中navigationBar颜色设置
- Swift2.0语言教程之Swift2.0语言中的标准函数
- Swift2.0语言教程之Swift2.0语言中的标准函数
- Swift 中UITabBarController使用方法
- Swift_String>SubstringWithRange用法
- swift2 控制流
- swift 基本文件读写
- Swift2.0语言教程之函数的返回值与函数类型
- Swift2.0语言教程之函数的返回值与函数类型
- #openstack-meeting: swift(2015-07-15)
- Swift2.0语言教程之函数的返回值与函数类型