1
假設我有一個Player實例,並且我想添加一個觀察者到他們的分數,所以我可以更新iOS應用程序中的分數顯示。我相信我應該調用看起來像這樣添加觀察者的方法:如何調試NSObject觀察者?
[[self.game player] addObserver:self
forKeyPath:@"score"
options:NSKeyValueObservingOptionNew
context:nil];
在同一個班級,那我也定義了一種方法,應該收到此消息:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
然而,我放在這個方法中的斷點永遠不會被擊中。
我想知道如何診斷此問題。我已經驗證玩家實例已經填充,並且當分數更新時,同一個實例被更新。
如果有幫助,我剛剛將我的項目轉換爲ARC,但上面的代碼是新的,並且從未工作過。
我調用[[self.game player] valueForKey:@「score」],因此返回零,所以我猜測我的應用程序有其他錯誤。感謝您的時間,我懷疑我已經浪費了。 –
好的,事實證明,viewDidLoad在didFinishLaunchingWithOptions之前執行,所以我依賴於當時沒有的東西。在這裏,無論如何都要有一些聲譽。 –