0

我一直在尝试保存用户选择的图像。这是我的保存代码:

    -(IBAction)save123456 {
        NSUserDefaults *myname = [NSUserDefaults standardUserDefaults];
        [myname setObject:noteview.image forKey:@"name"];

}

这似乎有效,但如果我应该改变什么,请告诉我。现在这是我的加载代码。

    -(IBAction)load123456 {
    NSUserDefaults *myname = [NSUserDefaults standardUserDefaults];
    NSString *tempstring = [myname stringForKey:@"name"];
        noteview.image = tempstring;

}

当我单击加载按钮时,图像就消失了。怎么了。

我通过修饰切割连接所有东西,这有关系吗?

谢谢!!!

4

1 回答 1

1

这一行:

noteview.image = tempstring;

正在将“ NSString”分配给应该是“ UIImage”的内容。

编辑:现在我意识到你在做什么,你不能将 UIImage 保存到一个简单的 plist 数据库中,比如 user defaults

您需要单独保存文件,然后保存并加载文件的路径,或者您需要将NSData图像的原始数据(即“”)保存并加载到用户默认值。

ps 您对变量名的选择令人困惑。代替“myname”,使用“myDefaults”,代替“tempname”,使用“nameImage”(即更具描述性和可理解性的东西)。

于 2012-07-04T06:41:52.647 回答