Подтвердить что ты не робот

Есть ли способ получить все значения в NSUserDefaults?

Я хочу напечатать все значения, сохраненные с помощью NSUserDefaults, без предоставления определенного ключа.

Что-то вроде печати всех значений в массиве с использованием цикла for. Есть ли способ сделать это?

4b9b3361

Ответ 1

Цель 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);
}

Swift

все значения:

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

все клавиши:

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

все ключи и значения:

print(UserDefaults.standard.dictionaryRepresentation())

Ответ 2

Вы можете использовать:

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

Ответ 3

Печать только клавиш

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

Ключи и значения

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

Ответ 4

Вы можете зарегистрировать все содержимое, доступное вашему приложению, используя:

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