standard from iphone nsuserdefaults

from - Cómo recibir el iPhone de NSUserDefaultsDidChangeNotification



swift 4 userdefaults standard (1)

Después de mucho buscar, no pude encontrar si necesitas pasar un objeto de diccionario a:

[NSUserDefaultsDidChangeNotification addObserver: forKeyPath: options: context:];

y qué se debe proporcionar en las opciones si quiero que se me notifique incluso por un solo cambio en los valores predeterminados del usuario. Además, ¿qué es keypath?

Gracias de antemano.


NSUserDefaultsDidChangeNotification es solo una notificación que se envía cuando se cambian los valores predeterminados. Para escucharlo necesitas este código:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; [center addObserver:self selector:@selector(defaultsChanged:) name:NSUserDefaultsDidChangeNotification object:nil];

Esto llamará al método defaultsChanged: cuando se active la notificación. Necesitas implementar este método así:

- (void)defaultsChanged:(NSNotification *)notification { // Get the user defaults NSUserDefaults *defaults = (NSUserDefaults *)[notification object]; // Do something with it NSLog(@"%@", [defaults objectForKey:@"nameOfThingIAmInterestedIn"]); }