Este código llamará al método "defaultsChanged", cuando algún valor en UserDefaults cambióNSUserDefaultsDidChangeNotification: ¿Cuál es el nombre de la clave, que cambió?
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self
selector:@selector(defaultsChanged:)
name:NSUserDefaultsDidChangeNotification
object:nil];
Este Código me dará el valor que cambió
- (void)defaultsChanged:(NSNotification *)notification {
// Get the user defaults
NSUserDefaults *defaults = (NSUserDefaults *)[notification object];
// Do something with it
NSLog(@"%@", [defaults objectForKey:@"nameOfThingIAmInterestedIn"]);
}
pero ¿cómo puedo obtener el nombre de la clave, eso cambio ??
Esto parece aplicarse solo cuando los valores predeterminados se cambian desde el interior de la aplicación, no desde el paquete de configuraciones. – Koraktor
@Koraktor: en este caso específico, puede agregar el habitual NSUserDefaultsDidChangeNotification – auco
@auco las cosas cambian constantemente: en iOS 6 viewDidUnload está en desuso. Uno debería usar (nulo) didReceiveMemoryWarning en su lugar. Y gracias por su publicación ;-) – coco