我正在尝试使用持久存储来存储NSMutableArray图像,但它没有存储它
这是我的代码
[imagingList addObject:image ]; //image is of type UIImage
imagingHistory=[NSUserDefaults standardUserDefaults];
[imagingHistory setObject:imagingList forKey:@"imaging history" ];
在我的视图中加载了我写
imagingList = [[NSUserDefaults standardUserDefaults] mutableArrayValueForKey:@"imaging history" ];
当我重新加载应用程序时,对象列表被设置回零
我错过了什么吗?答案 0 :(得分:1)
您无法直接在用户默认值中保存UIImage。您必须先将其转换为NSData。只是偶然,当我在寻找NSUserDefaults参考页面来回答这个问题时,找到了a tutorial on how to do exactly what you want。
答案 1 :(得分:1)
嗯,你真的不应该试图将UIImages保存到NSUserDefaults中。看看这个资源https://discussions.apple.com/thread/1729849?start=0&tstart=0它解释了如何获取图像的NSData并将其写入文件。从那里你可以将一个引用(NSURL或NSString)保存到应用程序文档目录中的图像路径,你可以使用UIImage aImage = [UIImage imageWithData:[NSData datWithContentsOfURL:pathURL]]等来加载它。
希望有所帮助。