1

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

这是我的代码

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

在我看来确实加载了我写的

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

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

我错过了什么吗?

4

2 回答 2

1

您不能将 UIImage 直接保存在用户默认值中。您必须先将其转换为 NSData。偶然地,当我在寻找 NSUserDefaults 参考页面来回答这个问题时,发现了一个关于如何做你想做的事情的教程

于 2012-05-29T15:15:32.717 回答
1

嗯,您真的不应该尝试将 UIImages 保存到 NSUserDefaults 中。看看这个资源https://discussions.apple.com/thread/1729849?start=0&tstart=0它解释了如何获取图像的 NSData 并将其写入文件。从那里您可以保存对应用程序文档目录中图像路径的引用(NSURL 或 NSString),然后可以使用 UIImage aImage = [UIImage imageWithData:[NSData datWithContentsOfURL:pathURL]] 之类的内容从那里加载它。

希望有帮助。

于 2012-05-29T15:17:45.750 回答