iphone - español - Guardar NSDictionary en NSUserDefaults
cocoa touch español (2)
Su código es correcto, pero lo único que debe tener en cuenta es que NSUserDefaults
no distingue entre objetos mutables e inmutables, por lo que cuando lo recupere será inmutable:
NSDictionary *retrievedDictionary = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"DicKey"];
Si quieres un diccionario mutable, solo usa mutableCopy
:
NSMutableDictionary *mutableRetrievedDictionary = [[[NSUserDefaults standardUserDefaults] objectForKey:@"DicKey"] mutableCopy];
Tengo un NSMutableDictionary y le he agregado valores (varios valores de par de claves). Ahora necesito guardar este NSMutableDictionary en un objeto NSUserDefaults.
1.) Mi código de la siguiente manera; No estoy seguro de si es correcto y también necesito saber cómo recuperar el NSMutableDictionary del NSUSerDefault
2.) Después de recuperar el NSMutableDictionary, necesito guardarlo en un NSDictionary. ¿Cómo podría hacer esto?
NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
[dic addObject:@"sss" forKey:@"hi"];
[dic addObject:@"eee" forKey:@"hr"];
[NSUserDefaults standardDefaults] setObject:dic forKey:@"DicKey"];
[[NSUserDefaults standardDefaults] synchronize];
NSMutableDictionary *profileDictionary = [[NSMutableDictionary alloc] init];
[profileDictionary setObject:txt_Username.text forKey:@"USERNAME_KEY"];
[profileDictionary setObject:txt_Password forKey:@"PASSWORD_KEY"];
[[NSUserDefaults standardUserDefaults] setObject:profileDictionary forKey:@"PROFILE_KEY"];
[[NSUserDefaults standardUserDefaults] synchronize];
Esto es lo que esperabas.