在iOS问题中检索简单数据
我的viewDidLoad中出现错误。它表示存在未声明的标识符“对象”。在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
我不熟悉这种保存和检索数据的方法,不知道该怎么办
//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的回答。