将图像保存到用户首选项
有没有人有保存涉及用相机拍摄的图像的应用程序首选项(在应用程序内,而不是在“设置”应用程序中)的经验?
首选项包括 NSStrings、UIImage、BOOL 等。UIImage 是用相机拍摄的图片。
我可以将这些全部存储在 NSMutableArray 中,然后执行如下操作:
[array writeToFile:[self dataFilePath] atomically:YES];
数组可以容纳如此多种对象吗? (我猜 BOOL 严格来说并不是一个对象)
Has anyone had any experience in saving app preferences (within app, not in Settings app) which involve images taken with the camera?
The prefs include NSStrings, UIImage, BOOLs etc. The UIImage is a pic taken with camera.
Could I store these all in an NSMutableArray and then just do something like this:
[array writeToFile:[self dataFilePath] atomically:YES];
Can an array hold such variety of objects? (and BOOL is not strictly an object I guess)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您只能使用
writeToFile 编写 属性列表:原子地:
。 这意味着,数组(以及可能的子容器)只能包含 NSArray、NSDictionary、NSString、NSData、NSDate 和 NSNumber 类型的对象。 您必须将图像转换为 NSData,才能在属性列表中使用它。You can only write property lists using
writeToFile:atomically:
. This means, the array (and possible subcontainers) can only contain objects of type NSArray, NSDictionary, NSString, NSData, NSDate, and NSNumber. You have to convert your image to NSData, to use it in a property list.您可以使用 NSKeyedArchiver 保存此数组,避免使用属性列表:
You can save this array using the NSKeyedArchiver, avoiding the property list: