你能在xcode调试器的任何地方看到NSUserDefaults的值吗?

时间:2010-06-14 18:22:56

标签: iphone xcode debugging nsuserdefaults

你能在xcode调试器中看到NSUserDefaults naywhere的值吗?

只是想知道这是否可行?

谢谢,

尼克

5 个答案:

答案 0 :(得分:31)

我没有在调试器中查看它们的解决方案,但我可以提供:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSLog(@"%@", [defaults dictionaryRepresentation]);

对于一些穴居人调试:)

编辑:正如David在评论中建议的那样,我们现在可以在调试控制台中执行此操作:

po [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]

Swift 3.0

po UserDefaults.standard.dictionaryRepresentation()

答案 1 :(得分:10)

我还没有这样做但你应该可以在用户默认值上执行po(print object)命令,如下所示:

po [[NSUserDefaults standardUserDefaults] valueForKey:@"someKeyName"] 

我更喜欢将我的默认值包装在自定义类中,并创建一个转储默认值的描述方法。

您可以使用“defaults”命令行实用程序来准确检查默认值。阅读手册页了解详细信息。

答案 2 :(得分:4)

不知道任何显示NSUserDefaults的GUI,但我在我的应用程序委托中使用它来查看启动时的设置:

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSLog(@"%@ DEFAULTS = %@", [self class], [defaults persistentDomainForName:[[NSBundle mainBundle] bundleIdentifier]]);
} 

答案 3 :(得分:1)

您可以在调试器中记录或使用PO命令 钥匙:

activate py35numpy

或键和值:

NSLog(@"%@", [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]);

&安培;在调试器上使用: 得到所有钥匙:

NSLog(@"%@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);

for key&价值观:

 po [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]

答案 4 :(得分:0)

针对 Swift 5 进行了更新

将所有 UserDefault 键值对打印到控制台:

print(UserDefaults.standard.dictionaryRepresentation())

将 UserDefault 打印到控制台:

print(UserDefaults.standard.dictionaryRepresentation().keys)

将 UserDefault 打印到控制台:

print(UserDefaults.standard.dictionaryRepresentation().values)