使用 NSFileWrapper 在 UIDocument 中存储 BOOL

Posted

技术标签:

【中文标题】使用 NSFileWrapper 在 UIDocument 中存储 BOOL【英文标题】:Storing a BOOL in UIDocument using NSFileWrapper 【发布时间】:2012-09-15 22:10:57 【问题描述】:

这可能是因为我太厚了,但是如何将 BOOL 存储在 UIDocument 中?我目前正在使用 NSFileWrappers 在“contentsForType:error:”方法中存储字符串和图像,但由于无法将 bool 转换为 NSData,那么最好的方法是什么?

谢谢

【问题讨论】:

【参考方案1】:

您可以从 BOOL 中获取 NSData 对象:

NSData* data=[NSKeyedArchiver archivedDataWithRootObject: [NSNumber numberWithBool: YES]];

【讨论】:

如果我将它保存在字典中,这对在“loadFromContents:ofType:error”方法中提取数据有什么影响? 你把所有需要编码的对象(不把它们转换成NSData)放在字典里,然后对整个字典进行编码。然后在loadFromContents方法中用NSKeyedUnarchiver的unarchiveObjectWithData方法得到原始字典。 非常感谢您的帮助!

以上是关于使用 NSFileWrapper 在 UIDocument 中存储 BOOL的主要内容,如果未能解决你的问题,请参考以下文章

使用 AudioToolBox 将 Wave 文件保存到 NSFileWrapper

NSFileWrapper 错误写入 URL

UIDocument loadFromContents 应该返回一个 NSFileWrapper;而是返回 NSConcreteData

NSFileWrapper 从 iCloud 失败并从本地目录工作

EXC_BAD_ACCESS 在多个设备上使用 iCloud

UIDocument 是具有元数据的大型文档的合适策略吗?