开发者社区> kyxu> 正文

【iOS开发】如何将 Array 存储在本地

简介: 做开发的时候,我们经常需要将数据保存在plist文件中,用这种方式来将数据写入磁盘,这样退出 App 再打开的话,上次写入的文件还在。 常用的方法是这个 func  writeToFile(path:String, atomically useAuxi...
+关注继续查看

做开发的时候,我们经常需要将数据保存在plist文件中,用这种方式来将数据写入磁盘,这样退出 App 再打开的话,上次写入的文件还在。

常用的方法是这个

func  writeToFile(path:String, atomically useAuxiliaryFile:Bool) ->Bool

然而 writeToFile 这个函数却只属于 NSArray


假如我自定义了一个Person类来写人,然后用数组来存储Person对象,那么我将把这个数组初始化为

let personArray :[Person] = [Person]()

这时,这个 personArray 就只能是 Array,而不是 NSArray。

想要把它存储在本地plist文件中,需要用到 NSKeyedArchiver  NSKeyedUnarchiver

但是在此之前,你需要把你的类改造一下。

起初的类
需要加入的内容

你需要在你的类中实现 encode function,实现起来也很简单,见上图。而一旦 encode 方法被实现,NSKeyedArchiver 和 NSKeyedUnarchiver 马上就被“解锁”并可以替代 writeToFile 方法啦!

将peopleArray存储到本地plist


将peopleArray从本地plist中取出

附上我在 StackOverFlow 上的相关讨论

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
表格存储 Node.js SDK 开发入门
本文将结合电商订单场景为例,介绍表格存储 Tablestore Node.js SDK 的基本使用方法。
83 0
MySQL开发篇,存储引擎的选择真的很重要吗?
MySQL开发篇,存储引擎的选择真的很重要吗? 谁说MySQL查询千万级别的数据很拉跨?我今天就要好好的和你拉拉家常,畅谈到深夜,一起过除夕!这篇文章也是年前的最后一篇,希望能带给大家些许收获,不知不觉查找文档和参考实体书籍就写了这么多,自己都感觉到意外。不禁感慨到,知道的越多,才知道不知道的更多。 开发人员或者是DBA都应该关注MySQL使用的存储引擎,选择合适存储引擎对你的应用性能提升是明显的。在阅读到本文的时候,肯定是有一定的MySQL或者其它数据库基础的,不然有些地方看着会很费劲。重点地方,我都进行了加粗处理,这样更容易获取关键知识点。
28 0
阿里云文件存储NAS开发测试环境最佳实践
阿里云文件存储NAS开发测试环境最佳实践
1970 0
iOS网络编程之七——本地用户凭证Cookie的应用
iOS网络编程之七——本地用户凭证Cookie的应用
33 0
开发直播app软件过程中的云存储和备份
随着科技不断地发展和进步,云技术的应用已经开始大面积的普及,云技术主要是指在广域网或局域网内将硬件、软件和网络等一系列资源统一起来,实现数据的计算、储存、共享和处理的一种托管技术。当然,开发直播app软件过程中也会需要这一技术的帮助,今天主要给大家分享一下云储存和云备份的相关知识。
1000 0
大话存储系列21——存储系统内部IO 上
1、IT系统的IO结构图 2、应用程序层IO 应用层程序是计算机系统内主动发起IO请求的大户,但是要知道,计算机内不止有应用程序可以向底层存储设备主动发起IO请求,其他的,比如文件系统自身、卷管理层自身、适配器驱动层自身等,都可以主动发起IO。
1034 0
+关注
kyxu
近四年独立开发经验,在 App Store 发布过 17 款独立开发作品,作品被 App Store 官方多次推荐,App 总销量已经超过 56w。公众号:KyXuIndie
71
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载