NSUserDefaults iOS字符串存储错误

时间:2012-06-17 05:55:08

标签: iphone nsuserdefaults

我正在尝试将标签的值存储在NSUserDefault键prevmode中,但是当它看起来没有存储时,以及在调试器Invalid CFStringRef之后尝试调用时。

要存储的代码是

//Check for previous mode 
NSUserDefaults *defaults;
NSString *prevmode;
prevmode = passLength.text;

[defaults setObject:prevmode forKey:@"prevmode"];

并且恢复是

NSUserDefaults *defaults;

NSString *prevmode;

prevmode = [defaults objectForKey:@"prevmode"];

2 个答案:

答案 0 :(得分:3)

如上面的评论所述,我们需要一个指向NSUserDefaults实例的有效指针:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

答案 1 :(得分:1)

您应该使用setValue:并在设置为默认值后进行同步。检索后使用valueForKey:

保存:

[[NSUserDefaults standardUserDefaults] setValue:prevmode forKey:@"prevmode"];
[[NSUserDefaults standardUserDefaults] synchronize];

并检索:

[[NSUserDefaults standardUserDefaults] valueForKey:@"prevmode"];

希望这有帮助。