0

我正在尝试将标签的值存储在 NSUserDefault 键中prevmode,但是当它似乎没有存储时,并且在它在 debugger 中显示后尝试调用时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"];
4

2 回答 2

3

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

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
于 2012-06-17T06:12:41.287 回答
1

您应该setValue:在设置为默认值后使用和同步。取回使用时valueForKey:

保存:

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

并检索:

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

希望这可以帮助。

于 2012-06-17T05:57:14.233 回答