我正在执行以下操作将对象存储为存档:
[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:self.shapeLayers] forKey:@"mySavedArray"];
我知道它可以正常工作,因为我可以重新加载它。问题是,我该如何找到这个文件?我希望在归档后看到它的大小,以便将归档文件与.m文件进行比较,最后我可能还需要将其上传到服务器。我是否正确保存,或者我应该以不同的方式进行保存?
答案 0 :(得分:1)
标准用户默认值存储在“ App Home Directory / Library / Prefereneces /”中的单个文件中。存档数据是该文件的一部分。它不会保存为单独的文件。如果要获取数据大小,请使用NSData的.length属性。
NSData *archivedData = [NSKeyedArchiver archivedDataWithRootObject:self.shapeLayers];
NSUInteger size = [archivedData length];
[[NSUserDefaults standardUserDefaults] setObject: forKey:@"mySavedArray"];