我將觀察者添加到UITableView
屬性。我應該從UIView中刪除KVO - [UIViewController viewWillUnload]和 - [UIViewControoler dealloc]?
[tableView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];
大家都知道,當UIViewController
被彈出-[UIViewController dealloc]
方法被調用,當它接收到內存警告-[UIViewController viewWillUnload]
。
我應該在兩個地方刪除觀察者(好吧,無論如何,我必須)?這是最好的代碼重複。或者,也許我可以撥打-[UIViewController dealloc]
(寫在Three20框架中)-[UIViewController viewWillUnload]
?這種方法好嗎?
請參閱[KVO和ARC如何removeObserver](http://stackoverflow.com/a/6960224/1106035)鏈接請參閱[在iOS中刪除觀察者問題在KVO](http://stackoverflow.com/a/12601081/1106035)也鏈接 –
當'UIViewController'被彈出時,這個方法不會被調用。這是個問題。 – efpies
這回答了「我應該刪除觀察者?」這個問題,而不是「當我將觀察者添加到' - [UIController視圖]子視圖之一時,如何不重複代碼?」 – efpies