NSUser默认 iOS 字符串存储错误



我正在尝试将标签的值存储在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"];

如上面的注释所示,我们需要一个指向 NSUserDefaults 实例的有效指针:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

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

要保存:

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

并检索:

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

希望这有帮助。

最新更新