【发布时间】:2012-10-04 13:16:14
【问题描述】:
一个非常简单的问题,但我似乎找不到答案。 (开发 iOS 5+ 应用)。
在我的 AppDelegate 中,我有一个属性,我们称之为@property (non atomic) BOOL aFlag;。如果值发生变化,我希望我的 AppDelegate 得到通知。这是我尝试过的(一切都发生在AppDelegate.m),这与我用观察者“链接”两个不同的对象时相同:
-(BOOL)application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
// Some stuff
_aFlag = YES;
[self addObserver:self
forKeyPath:@"aFlag"
options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld)
context:nil];
// Some other stuff
}
-(void)observeValueForKeyPath:(NSString*)keyPath
ofObject:(id)object
change:(NSDictionary*)change
context:(void*)context {
if ([keyPath isEqual:@"aFlag"]) {
// Do something
} else {
// Do nothing
}
}
但是observeValueForKeyPath: 没有被调用。
我哪里错了?谢谢。
【问题讨论】:
标签: ios objective-c key-value-observing self addobserver