2013-07-08 7 views
38

NSUserDefaultsで保存したすべての値を特定のキーを指定せずに印刷したいとします。NSUserDefaultsにすべての値を取得する方法はありますか?

forループを使用して配列内のすべての値を印刷するようなものです。そうする方法はありますか?

+1

アプリケーションのドメインまたはシステムドメイン内にありますか? – awiebe

+7

http://stackoverflow.com/questions/1676938/easy-way-to-see-save-nsuserdefaults – stosha

+1

Swiftの場合、これを使用できますhttp://stackoverflow.com/a/27534573/1497737 – footyapps27

答えて

135

のObjective C

を の

すべての値:

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

すべてのキー:

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

すべてのキーと値:

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

に使用して:

NSArray *keys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]; 

for(NSString* key in keys){ 
    // your code here 
    NSLog(@"value: %@ forKey: %@",[[NSUserDefaults standardUserDefaults] valueForKey:key],key); 
} 

スウィフト

すべての値:

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

すべてのキー:

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

すべてのキーと値:あなたが使用することができます

print(UserDefaults.standard.dictionaryRepresentation()) 
+1

Swift 3すべての値:すべてのキー:print(UserDefaults.standard.dictionaryRepresentation()。keys) – davidrynn

3

のみ印刷するキー

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

キーと

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

あなたが使用してあなたのアプリで利用可能なすべての内容をログに記録できる値:

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

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSDictionary *defaultAsDic = [defaults dictionaryRepresentation]; 
NSArray *keyArr = [defaultAsDic allKeys]; 
for (NSString *key in keyArr) 
{ 
    NSLog(@"key [%@] => Value [%@]",key,[defaultAsDic valueForKey:key]); 
} 
+0

かなり理解しやすい –

関連する問題