NSKeyValueObservingOptions
Эти константы передаются в addObserver: forKeyPath: options: context: и определяют значения, которые возвращаются как часть словаря изменений, передаваемого в наблюдаемое значение ForKeyPath: ofObject: change: context :. Вы можете передать 0, если не требуется изменять значения словаря.
enum {
NSKeyValueObservingOptionNew = 0x01,
NSKeyValueObservingOptionOld = 0x02,
NSKeyValueObservingOptionInitial = 0x04,
NSKeyValueObservingOptionPrior = 0x08
};
typedef NSUInteger NSKeyValueObservingOptions;
попробуй вот так
[bar addObserver:foo forKeyPath:@"test" options:NSKeyValueObservingOptionNew context:nil];
изменить этот код
-(void) updateTest2
{
NSString *updateString = @"updating 2";
[updateString retain];
test = updateString;
[self didChangeValueForKey:@"test"];
}
до
-(void) updateTest2
{
self.test = @"updating 2"//note here
[self didChangeValueForKey:@"test"];
}