是否有方法获取 NSUserDefault 中的所有值?

我想打印所有值,我保存通过 NSUserDefaults没有提供一个特定的关键。

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

49039 次浏览

Print only keys

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

Keys and Values

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

You can log all of the contents available to your app using:

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

Objective C

all values:

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

all keys:

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

all keys and values:

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

using for:

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


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

Swift

all values:

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

all keys:

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

all keys and values:

print(UserDefaults.standard.dictionaryRepresentation())

You can use:

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