Swift-归档解归档
2016-04-05 11:58
453 查看
Swift中对象进行归档写入文件时需要对对象属性进行归档操和解归档操作
,对象方法中需重写以下两个方法
归档,解归档需要使用到NSKeyedArchiver和NSKeyedUnarchiver来实现。
,对象方法中需重写以下两个方法
//从nsobject解析回来 init(coder aDecoder:NSCoder!){ self.name=aDecoder.decodeObjectForKey("name") as! String self.phone=aDecoder.decodeObjectForKey("age") as! String } //编码成object func encodeWithCoder(aCoder:NSCoder!){ aCoder.encodeObject(name,forKey:"name") aCoder.encodeObject(phone,forKey:"age") }
归档,解归档需要使用到NSKeyedArchiver和NSKeyedUnarchiver来实现。
//保存数据 let data = NSMutableData() let archiver = NSKeyedArchiver(forWritingWithMutableData: data) archiver.encodeObject(userData,forKey: "userlist") archiver.finishEncoding() //数据写入 data.writeToFile(dataFilePath, atomically: true) //读取数据 //获取本地数据文件地址 let path = self.dataFilePath() //读取文件数据 let data = NSData(contentsOfFile: path) //解码器 let unarchiver = NSKeyedUnarchiver(forReadingWithData: data!) userList = unarchiver.decodeObjectForKey("userdata") as! Array //结束解码 unarchiver.finishDecoding()
相关文章推荐
- OC与swift的相互调用
- Swift UIStepper/UISegmentedControl/UIActivityIndicatorView
- Swift入门系列--Swift官方文档(2.2)--中文翻译--About Swift 关于Swift
- Swift基础知识
- Swift学习笔记之变量与常量声明
- 如何在iOS下使用Swift语言获取某个日期是星期几
- Swift NSDate的一个分类,把"Mon Apr 04 19:45:37 +0800 2016"这种格式的时间转换为"2016-04-04 11:45:37 +0000"
- swift学习之路之UITabBrarController的简单使用
- Swift编程语言中如何实现自定义类型的for-in循环(基于Swift 2.2)
- 《Swift入门》Ubuntu 14 server安装Swift运行环境
- 转 Grand Central Dispatch 基础教程:Part 1/2 -swift
- Swift函数柯里化(Currying)简谈
- Swift函数柯里化(Currying)简谈
- Swift函数柯里化(Currying)简谈
- Swift构造函数和便利构造函数
- swift可选类型
- swift里采用cocoapods的方式集成高德地图遇到的问题
- iOS 绘制渐变图形 Quartz2D 之Swift
- Swift开发之初识
- ReactiveX序列——RxSwift