web-dev-qa-db-ja.com

NSUserDefaultsのすべての値を取得する方法はありますか?

特定のキーを指定せずに、NSUserDefaultsで保存したすべての値を印刷したいと思います。

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

57
Alik Rokar

目的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())
176
Anton

次を使用できます。

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

キーのみを印刷

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

キーと値

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

以下を使用して、アプリで利用可能なすべてのコンテンツを記録できます。

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