変更に関心のあるビューの変更を観察 する必要があります。NSUserDefaults
次のコードを使用して、変更を確認できます。
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self
selector:@selector(defaultsChanged:)
name:NSUserDefaultsDidChangeNotification
object:nil];
defaultsChanged
メソッドを実装します。
- (void)defaultsChanged:(NSNotification *)notification
{
NSUserDefaults *defaults = (NSUserDefaults *)[notification object];
id value = [defaults objectForKey:@"keyOfDefaultThatChanged"];
self.something = [(NSNumber *)value intValue]; // For example.
}
ビューを閉じたときにオブザーバーを削除することを忘れないでください (おそらく でdealloc
):
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center removeObserver:self];