83

我想在NSUserDefaults不提供特定密钥的情况下打印我保存的所有值。

类似于使用for循环打印数组中的所有值。有没有办法这样做?

4

4 回答 4

224

目标 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())
于 2013-07-08T08:49:08.080 回答
6

您可以使用:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *defaultAsDic = [defaults dictionaryRepresentation];
NSArray *keyArr = [defaultAsDic allKeys];
for (NSString *key in keyArr)
{
     NSLog(@"key [%@] => Value [%@]",key,[defaultAsDic valueForKey:key]);
}
于 2013-07-08T08:50:06.393 回答
5

仅打印键

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

键和值

NSLog(@"%@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
于 2013-07-08T08:47:14.390 回答
4

您可以使用以下命令记录应用程序可用的所有内容:

NSLog(@"%@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
于 2013-07-08T08:47:21.420 回答