2012-01-31 48 views
0

我想建立一個名爲Logger的靜態類,它會在某個時候上傳日誌文件,當時這個日誌文件的調用方式如[Logger uploadLogFiles]addObserver:forKeyPath如何工作在靜態類上?

我想觀測到這個靜態類,像這樣:

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

我這樣做只是起始NSURLConnection的異步調用方法之前。我得到一個警告,說不兼容的指針類型發送Class類型參數NSObject *

但是,這似乎不起作用,因爲observerValueForKeyPath:方法永遠不會被調用。

有沒有人在靜態類中添加觀察者到靜態變量的經驗?

謝謝!

回答

2

一個類沒有實例變量,所以沒有什麼可觀察的。

您需要有一個KVO的實際對象(一個類的實例)。

+0

在這裏找到這個答案讓人放心,但是你有源嗎? – Matthew 2012-05-02 14:28:16

+0

@Matt什麼來源?一個類本身沒有實例變量,你需要一個類的實例來擁有實例變量。看看Objective-C的參考。 – Abizern 2012-05-02 14:40:00