iphone - 如何找到归档的目标文件?

标签 iphone ios cocoa-touch nskeyedarchiver

我正在执行以下操作将对象存储为存档:

[[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/

相关文章:

iphone - 从没有文件扩展名的服务器下载图像(NSData 到 UIImage)

iphone - iPhone 应用程序中 2D 图形元素的编辑器

iphone - 如何实现iTunes内置App "File Sharing"功能

ios - Objective-c IOS-App 中的 Base64 编码

IOS popviewcontroller去除导航栏

ios - MediaPlayer.framework (MPMoviePlayerController) 从需要访问凭据的 URL 播放电影

iphone - 将 ManagedObjectContext 传递给第二个 View

ios - 无法在 iPhone 6 上打开 Apple Pay 表

ios - 在按部分加载的自定义单元格中处理 UIButton 单击(其中部分数量未定义。即 : taken dynamically)

ios - NSDateComponentsFormatter stringFromTimeInterval 为小于 1 分钟的间隔返回不正确的字符串