我正在执行以下操作将对象存储为存档:
[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:self.shapeLayers] forKey:@"mySavedArray"];
我知道它工作正常,因为我可以重新加载它。问题是,我怎样才能找到这个文件?我想查看其存档后的大小,以将存档与 .m 文件进行比较,并且最终我可能需要将其上传到服务器。我是否正确保存了它,或者我应该以不同的方式进行保存?
最佳答案
标准用户默认值存储在“应用程序主目录/Library/Prefereneces/”中的单个文件中。归档数据是该文件的一部分。它不会保存为单独的文件。如果要获取数据大小,请使用 NSData 的 .length 属性。
NSData *archivedData = [NSKeyedArchiver archivedDataWithRootObject:self.shapeLayers];
NSUInteger size = [archivedData length];
[[NSUserDefaults standardUserDefaults] setObject: forKey:@"mySavedArray"];
关于iphone - 如何找到归档的目标文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17622518/