刚开始学习 iOS,我有一个非常基本的问题:归档/取消归档整个对象集合的正确方法是什么?
我了解到您首先需要在类上实现 NSCoder 协议(protocol)。假设我有一个可以正确存档和取消存档的类(class),我一直在研究一个如下所示的示例:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *docsDir = [paths objectAtIndex:0];
NSString *archivePath = [docsDir stringByAppendingPathComponent"thing.model"];
Thing *thing = [[Thing alloc] init];
[NSKeyedArchiver archiveRootObject:thing toFile:archivePath];
现在,这只是将一个 Thing
保存为文件 thing.model
,对吗?
那么,如果我的应用程序有很多“东西”并且我想将它们全部归档,你会如何处理呢?
更具体地说(如果某些上下文有帮助),我正在开发一个由 Web 服务支持的应用程序,并且我希望能够在应用程序上创建/编辑记录,将它们保存到磁盘并定期保存将我在本地保存的对象与网络服务同步。
谢谢!
集合类符合NSCoding
。因此,如果您有 Thing
对象的 NSArray
,只需归档/取消归档该数组即可。
关于iOS:归档/取消归档对象集合的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16575551/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |