我在viewDidLoad中收到错误。它说有一个未声明的标识符'对象' 我是这种保存和检索数据的方法的新手,我不知道该怎么做。
//Viewcontroller.m
-(void)saveString:(UIImage*)myString
{
[[NSUserDefaults standardUserDefaults] setObject:myString forKey:@"image"];
}
- (IBAction)back:(id)sender {
[self saveString:object.image];
}
//ViewController2.m
-(UIImage*)retrieveString
{
UIImage* recoveredString = [[NSUserDefaults standardUserDefaults] objectForKey:@"image"];
return recoveredString;
}
- (void)viewDidLoad
{
object.image = [self retrieveString];
[super viewDidLoad];
}
答案 0 :(得分:1)
您无法在NSUserDefault中存储图像,但可以存储其路径。所以不能访问NSUserDefault并传递关键镜像的对象或反之亦然。您可以将其保存到应用程序沙箱中并保存其路径。然后你可以使用类方法[UIimage imageWithContentsOfFile:path];
顺便说一句,你可以将它保存为一串数据char,但我认为它不值得,你需要一个适当的编码和解码。您也可以尝试在正确转换后将其保存为NSData对象,NSUserDefault支持它。