web-dev-qa-db-fra.com

Existe-t-il un moyen d'obtenir toutes les valeurs dans NSUserDefaults?

Je voudrais imprimer toutes les valeurs que j'ai enregistrées via NSUserDefaults sans fournir de clé spécifique.

Quelque chose comme l'impression de toutes les valeurs dans un tableau en utilisant la boucle for. Existe-t-il un moyen de le faire?

57
Alik Rokar

Objectif C

toutes les valeurs:

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

toutes les clés:

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

toutes les clés et valeurs:

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

en utilisant pour:

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

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

rapide

toutes les valeurs:

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

toutes les clés:

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

toutes les clés et valeurs:

print(UserDefaults.standard.dictionaryRepresentation())
176
Anton

Vous pouvez utiliser:

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

Imprimer uniquement les clés

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

Clés et valeurs

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

Vous pouvez enregistrer tous les contenus disponibles pour votre application en utilisant:

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