ios - 当变量改变值时调用方法

原文 标签 ios objective-c

我在我的应用程序 delegate.m 中定义了一个 BOOL,然后在 View controller.h 中我有

extern BOOL usingInternet;

现在我想在这个值发生变化的任何时候调用一个方法,我正在尝试
[usingInternet addObserver:self forKeyPath:@"myData" options:0 context:@"data"];

但是我得到一个编译错误,Bad receiver type BOOL每次这个 bool 改变值时,我如何调用一个方法?

谢谢

最佳答案

[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);
}

关于ios - 当变量改变值时调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31281692/

相关文章:

ios - 调用 layoutIfNeeded 后 View 不会立即显示

ios - 如何淡入淡出图层?

ios - 尝试在标签栏 Controller 之间传递数据

iphone - 在使用 RestKit 的应用程序中使用 LibComponentLogging

ios - UIViewController、自动布局和 iPhone 6

ios - 'class-name' 没有可见的@interface 声明了选择器 'method-name'

ios - 带有iOS窗口小部件的EKEventStore错误:[EventKit]客户端尝试打开太多与calaccessd的连接。拒绝打开另一个

objective-c - iOS:更改UIImage的颜色

ios - Collection View 中的点击手势无法执行

objective-c - 自定义核心数据生成的访问器