首页 > 解决方案 > NSUserDefaults 和 boolean - 这是怎么回事?目标 C

问题描述

我有这个简单的代码来保存和恢复 NSUserDefaults 的布尔值。最后当我做

po [defaults boolForKey:@"dummy"]

在调试器中,我看到 nil。

这里发生了什么 ?

// Store the data
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

[defaults setBool:(BOOL)boolValue forKey:@"dummy"];

[defaults synchronize];

BOOL ans = [defaults boolForKey:@"dummy"];

我哪里错了?

谢谢!

更新:谢谢!现在清楚

标签: objective-clldb

解决方案


如果你这样做

p [defaults boolForKey:@"dummy"]

(这是打印原始类型的正确调试命令)而不是

po [defaults boolForKey:@"dummy"]

你会看见NO

po 意味着print object并且适用于NSObject

p 是公正print的并且适用于像BOOLor这样的原语int


推荐阅读