Swift中对象序列化的实现
来源:互联网 发布:买保险 知乎 编辑:程序博客网 时间:2024/05/16 08:05
Swift中对象序列化的实现
在swift中要使某个类可以序列化,只需要类实现NSCoding协议,并实现协议中的一个必要的构造函数和一个方法,分别对应序列化和反序列化的二个过程。
//提供一个解码器解码数据,通过解码数据来初始化类变量required init?(coder aDecoder: NSCoder){ } //提供一个编码器编码数据func encodeWithCoder(aCoder: NSCoder){ }
示例:
假设我们有如下类:其中的属性updateUrl为需要序列化和反序列化到User Default中
class AppParams{ var updateUrl: String? //}
继承NSObject,实现NSCoding协议:
class AppParams: NSObject, NSCoding{...}
实现序列化和反序列化函数
就是实现NSCodeing协议
//反序列化required convenience init?(coder aDeCoder: NSCoder){ self.updateUrl = aDeCoder.decodeObject(forKey: "updateUrl") as? String} //序列化func encode(with aCoder: NSCoder) { aCoder.encode(updateUrl, forKey: "updateUrl")}
保存和读取
//保存到user default中let userDefault = UserDefaults.standardlet data = NSKeyedArchiver.archivedData(withRootObject: value as Any)userDefault.setValue(data, forKey: Preferences.KEY_LAST_APP_PARAMS)//从user default中读取 let userDefault = UserDefaults.standard guard let data = userDefault.value(forKey: Preferences.KEY_LAST_APP_PARAMS) else{return nil}return NSKeyedUnarchiver.unarchiveObject(with: data as! Data) as? AppParams
0 0
- Swift中对象序列化的实现
- Qt中对象序列化的实现
- swift IOS中对象序列化与反序列化
- Java中对象的序列化(实现java.io.Serializable)
- MFC中对象序列化技术的实现
- MFC中对象序列化技术的实现
- android开发中对象的序列化-实现Parcelable接口.
- Android中使用Parcelable实现对象的序列化
- 在.NET中实现对象序列化
- 在.NET中实现对象序列化
- 在.NET中实现对象序列化
- Android 对象序列化 Java中实现Serializable序列化与Android特有的实现Parceable接口序列化操作
- 实现对象的序列化到本地文件
- 使用序列化实现对象的拷贝
- 使用序列化实现对象的拷贝
- 序列化实现对象的拷贝
- 序列化实现对象的拷贝
- 使用序列化实现对象的拷贝
- 比较A B大小
- 动态规划学习总结
- Scrapy源码分析(四):请求Request
- Android菜鸟练习第二十四课 Android ScrollView嵌套GridView导致GridView只显示一行item
- Hadoop(四)——编程核心MapReduce(上)
- Swift中对象序列化的实现
- VMware虚拟机找不到USB设备该怎么办?
- Android数据库——LitePal的修改和删除操作
- 第12周项目3-(1)图遍历算法实现、实现深度优先遍历—DFS
- Python默认编码错误
- 入门训练 序列求和
- install JAVA8 on Debian8
- arm交叉编译环境安装
- linux下面的静态库和动态库的创建