2012-02-24 37 views
1

我在viewDidLoad中收到错误。这是说有一个未声明的标识符'对象'。
我是新来的这种保存和检索数据的方法,我不知道该怎么做。在iOS中检索简单数据问题

//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

你有'object.image',但是不清楚你在哪里声明对象。如果你的对象没有在某处作为ivar或属性声明,那么你会得到这个错误。另外,请阅读Andrea的回答。 – sosborn 2012-02-24 06:34:05

回答

1

您不能在NSUserDefault中存储图像,但可以存储图像的路径。因此访问NSUserDefault并将关键字传递给关键图像或反之亦然是不对的。您可以将其保存到您的应用沙箱并保存路径。然后你可以使用类方法[UIimage imageWithContentsOfFile:path]; 顺便说一下,你可以将它保存为一个字符串的数据字符,但我不认为这是值得的,你需要一个适当的编码和解码。您也可以尝试在正确转换后将其另存为NSData对象,NSUserDefault支持它。

+0

谢谢,我会着眼于它 – BillyRay 2012-02-25 18:34:51