有2對象:A和B約釋放對象在可可框架使用時KVO
呼叫[A的addObserver:B中的keyPath:...];
如果我在某處釋放對象A. 必須首先調用[A removeObserver:B ...]?
如果我在某處釋放對象B. 必須首先調用[A removeObserver:B ...]?
有2對象:A和B約釋放對象在可可框架使用時KVO
呼叫[A的addObserver:B中的keyPath:...];
如果我在某處釋放對象A. 必須首先調用[A removeObserver:B ...]?
如果我在某處釋放對象B. 必須首先調用[A removeObserver:B ...]?
你只需要做第二個,以避免A
發送消息到釋放對象。
作爲一個良好的practive的問題,你應該刪除你的觀察者,當它不再需要了,但不這樣做不會造成任何問題,因爲這兩個對象都不被消息保留,所以如果你釋放A,它將停止觀察B和如果釋放B,觀測值將永遠不會改變,因此您的KVO觀測方法將永遠不會被調用。