我在我的app delegate.m中定义了BOOL,然后在视图controller.h中我有
extern BOOL usingInternet;
现在我想在这个值改变的时候调用一个方法,我正在尝试
[usingInternet addObserver:self forKeyPath:@"myData" options:0 context:@"data"];
但是我收到编译错误,Bad receiver type BOOL
每次bool更改值时如何调用方法?
由于
答案 0 :(得分:2)
[self addObserver:self forKeyPath:@"usingInternet" options:0 context:nil];
并从
获得结果- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
NSLog(@"%@, %@, %@", keyPath, @(usingInternet), change);
}
答案 1 :(得分:0)
你不能在BOOL上调用addObserver;你需要在一个对象上调用它。您可以将BOOL包装在NSNumber中。