有沒有辦法知道在視圖控制器的鍵路徑上是否有對象偵聽。例如,我在我的ViewControlleriOS應用程序崩潰,因爲KVO觀察者不再觀察
[tabBarController addObserver:self
forKeyPath:@"selectedViewController"
options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld
context:&PrivateKVOContext
]; (edited)
而且我想知道如果我的tabbarcontroller知道我的視圖 - 控制是對的keyPath
的原因是聽,因爲我的應用程序崩潰,因爲標籤欄控制器還自以爲我的視圖控制器是聽,即使我的視圖控制器已釋放
而在我的視圖控制器的dealloc方法是關鍵路徑上,我把[tabBarController removeObserver:self forKeyPath:@"selectedViewController」];
以去掉自己作爲一個觀察者
如果觀察者是沒有得到清除,試着寫'[NSNotificationCenter defaultCenter] removeObserver:observerObjectHere]'的'viewWillDisappear ' – pkc456
切線類型,但爲什麼選擇不同選項卡時,選項卡欄控制器中的視圖控制器應該如何處理?這聽起來像一個糟糕的設計。 – rmaddy
你爲什麼不繼承tabBarController並創建協議,使用它你可以發送更改selectedViewController的委託消息。這將是更清晰的解決方案。 –