以前,我有一个使用 NSKeyedArchiver 归档的数组。
[NSKeyedArchiver archiveRootObject:array toFile:docPath];
调用applicationWillTerminate
和applicationDidEnterBackground
。
启动时,在 中didFinishLaunchingWithOPtions
,数组未归档:
NSMutableArray *array = [NSKeyedUnarchiver unarchiveObjectWithFile:docPath];
一切都很好。从那时起,我为 Settings 变量添加了一个 Singleton 类。我也想归档单例。我该怎么做?
让我困惑的部分是如果我调用相同的消息:
[NSKeyedArchiver archiveRootObject:singleton toFile:docPath];
当我调用时,应用程序如何知道我要取消归档的对象:
[NSKeyedUnarchiver unarchiveObjectWithFile:docPath];
是数组还是单例?
archiveRootObject 接受一个(id),这对我来说意味着我想要的任何东西。我可以创建一个包含数组和单例的数据类。这就是我应该这样做的吗?有没有更好的办法?欢迎任何建议。
谢谢!