无法使用持久存储保存NSMutableArray图像

时间:2012-05-29 15:09:10

标签: objective-c uiimage nsmutablearray nsuserdefaults persistent-storage

我正在尝试使用持久存储来存储NSMutableArray图像,但它没有存储它

这是我的代码

[imagingList addObject:image ];  //image is of type UIImage
imagingHistory=[NSUserDefaults standardUserDefaults];
[imagingHistory        setObject:imagingList          forKey:@"imaging history"  ];

在我的视图中加载了我写

 imagingList      = [[NSUserDefaults standardUserDefaults] mutableArrayValueForKey:@"imaging history"  ];

当我重新加载应用程序时,对象列表被设置回零

我错过了什么吗?

2 个答案:

答案 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]]等来加载它。

希望有所帮助。