在iOS问题中检索简单数据

在iOS问题中检索简单数据,ios,uiimage,save,nsuserdefaults,Ios,Uiimage,Save,Nsuserdefaults,我的viewDidLoad中出现错误。它表示存在未声明的标识符“对象”。 我不熟悉这种保存和检索数据的方法,不知道该怎么办 //Viewcontroller.m -(void)saveString:(UIImage*)myString { [[NSUserDefaults standardUserDefaults] setObject:myString forKey:@"image"]; } - (IBAction)back:(id)sender { [self saveStri

我的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];
}

不能在NSUserDefault中存储图像,但可以存储图像的路径。因此,访问NSUserDefault并将对象传递给key image或viceversa是不对的。您可以将其保存到应用程序沙盒中,并保存其路径。然后可以使用class方法
[UIimage-imageWithContentsOfFile:path]

顺便说一下,您可以将其保存为数据字符字符串,但我认为这不值得,您需要正确的编码和解码。您还可以尝试在正确转换后将其保存为NSData对象,NSUserDefault支持它。

您不能在NSUserDefault中存储图像,但可以存储图像的路径。因此,访问NSUserDefault并将对象传递给key image或viceversa是不对的。您可以将其保存到应用程序沙盒中,并保存其路径。然后可以使用class方法
[UIimage-imageWithContentsOfFile:path]

顺便说一下,您可以将其保存为数据字符字符串,但我认为这不值得,您需要正确的编码和解码。您也可以尝试在正确转换后将其保存为NSData对象,NSUserDefault支持它。

您有
对象。image
,但不清楚在何处声明对象。如果对象未在某处声明为ivar或属性,则会出现此错误。另外,请阅读Andrea的回答。您有
object.image
,但不清楚在哪里声明对象。如果对象未在某处声明为ivar或属性,则会出现此错误。另外,请阅读Andrea的回答。