addObserver:forKeyPath:如何处理静态类?

时间:2012-01-31 11:17:32

标签: objective-c macos key-value-observing static-class

我正在尝试构建一个名为Logger的静态类,它将在某个时刻上传日志文件,当调用[Logger uploadLogFiles]时。

我正在尝试向这个静态类添加一个观察者,如下所示:

[Logger addObserver:self forKeyPath:@"uploadComplete" options:NSKeyValueObservingOptionNew context:nil];

我在为NSURLConnection启动异步调用方法之前就这样做了。我收到警告,说指针类型不兼容,将Class发送到NSObject * 类型的参数。

但是,这似乎不起作用,因为observerValueForKeyPath:方法永远不会被调用。

有没有人有过在静态类中向静态变量添加观察者的经验?

谢谢!

1 个答案:

答案 0 :(得分:2)

一个类没有实例变量,所以没有什么可以观察的。

您需要拥有KVO的实际对象(类的实例)。