你能在xcode调试器中看到NSUserDefaults的值吗?只是想知道这是否可能?谢谢你,尼克
mtb9vblg1#
不知道有任何GUI显示NSUserDefaults,但我在应用程序委托中使用它来查看启动时的设置:
- (void)applicationDidFinishLaunching:(UIApplication *)application { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSLog(@"%@ DEFAULTS = %@", [self class], [defaults persistentDomainForName:[[NSBundle mainBundle] bundleIdentifier]]); }
k3bvogb12#
您可以在调试器中记录或使用PO命令来获取密钥:
NSLog(@"%@", [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]);
或对于键和值:
NSLog(@"%@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
调试器使用时(& O):获取所有密钥:
po [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]
对于键值(& V):
po [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]
zpqajqem3#
将所有UserDefault键值对打印到控制台:
print(UserDefaults.standard.dictionaryRepresentation())
将UserDefault键打印到控制台:
print(UserDefaults.standard.dictionaryRepresentation().keys)
将UserDefault值打印到控制台:
print(UserDefaults.standard.dictionaryRepresentation().values)
taor4pac4#
改为:
po UserDefaults.standard.value(forKey: "key")
写:
po UserDefaults.standard.set(true, forKey: "key")
2jcobegt5#
您也可以直接在变量断点视图上添加表达式,并添加:UserDefaults.standard.dictionaryRepresentation()参见下图。add breakpoint view
UserDefaults.standard.dictionaryRepresentation()
7uzetpgm6#
我没有在调试器中查看它们的解决方案,但我可以提供以下解决方案:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSLog(@"%@", [defaults dictionaryRepresentation]);
对于一些穴居人调试:)编辑:正如大卫在评论中所建议的,我们现在可以在调试控制台中完成此操作:
雨燕3.0
po UserDefaults.standard.dictionaryRepresentation()
93ze6v8z7#
我还没有这样做,但你应该能够执行一个po(打印对象)命令对用户默认值如下:
po [[NSUserDefaults standardUserDefaults] valueForKey:@"someKeyName"]
我更喜欢将我的默认值 Package 在一个定制类中,并创建一个转储默认值的描述方法。您可以使用“defaults”命令行工具来检查默认值。详细信息请阅读手册页。
7条答案
按热度按时间mtb9vblg1#
不知道有任何GUI显示NSUserDefaults,但我在应用程序委托中使用它来查看启动时的设置:
k3bvogb12#
您可以在调试器中记录或使用PO命令来获取密钥:
或对于键和值:
调试器使用时(& O):获取所有密钥:
对于键值(& V):
zpqajqem3#
更新Swift 5
将所有UserDefault键值对打印到控制台:
将UserDefault键打印到控制台:
将UserDefault值打印到控制台:
taor4pac4#
改为:
写:
2jcobegt5#
您也可以直接在变量断点视图上添加表达式,并添加:
UserDefaults.standard.dictionaryRepresentation()
参见下图。add breakpoint view
7uzetpgm6#
我没有在调试器中查看它们的解决方案,但我可以提供以下解决方案:
对于一些穴居人调试:)
编辑:正如大卫在评论中所建议的,我们现在可以在调试控制台中完成此操作:
雨燕3.0
93ze6v8z7#
我还没有这样做,但你应该能够执行一个po(打印对象)命令对用户默认值如下:
我更喜欢将我的默认值 Package 在一个定制类中,并创建一个转储默认值的描述方法。
您可以使用“defaults”命令行工具来检查默认值。详细信息请阅读手册页。