首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSUserDefaults:转储NSUserDefaults的standardUserDefaults的结构

NSUserDefaults:转储NSUserDefaults的standardUserDefaults的结构
EN

Stack Overflow用户
提问于 2009-04-30 23:41:20
回答 6查看 10.7K关注 0票数 17

有没有人知道一种通过NSLog转储NSUserDefaults的standardUserDefaults的快捷方法?这就是我所拥有的:

代码语言:javascript
复制
NSLog(@"NSUserDefaults dump: %@", [NSUserDefaults standardUserDefaults]);

但它会返回:

代码语言:javascript
复制
NSUserDefaults dump: <NSUserDefaults: 0x50b520>

...which并不是我想要的。我真的希望有键-值对。

任何帮助或在正确的方向上的一点都将非常感谢。干杯!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-05-05 19:54:50

感谢我的商业伙伴和朋友Don McCaughey为我修复了我的代码,并提供了一个简洁的答案。为了与你们其他人分享它,这里有一个代码片段:

代码语言:javascript
复制
  NSDictionary *bundleInfo = [[NSBundle mainBundle] infoDictionary];
  NSString *bundleId = [bundleInfo objectForKey: @"CFBundleIdentifier"];

  NSUserDefaults *appUserDefaults = [[NSUserDefaults alloc] init];
  NSLog(@"Start dumping userDefaults for %@", bundleId);
  NSLog(@"userDefaults dump: %@", [appUserDefaults persistentDomainForName: bundleId]);
  NSLog(@"Finished dumping userDefaults for %@", bundleId);
  [appUserDefaults release];

正如您所看到的,每个回答问题的人都在正确的轨道上,但没有提供任何代码作为解决方案-直到Don在源代码控制中编辑了我们的代码。谢谢大家!

票数 19
EN

Stack Overflow用户

发布于 2009-04-30 23:45:37

代码语言:javascript
复制
NSLog(@"NSUserDefaults dump: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
票数 36
EN

Stack Overflow用户

发布于 2009-04-30 23:46:25

尝试:

代码语言:javascript
复制
NSLog(@"NSUserDefaults dump: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);

dictionaryRepresentation返回默认值的NSDictionary表示形式。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/809607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档