2013-03-25 35 views
1

我正在開發具有最新SDK的iOS應用程序。removeObserver上的一個類,將刪除所有類上的相同keypath的所有觀察者?

我有很多的類此代碼:

[[NSUserDefaults standardUserDefaults] addObserver:self 
             forKeyPath:CAR_MODE 
              options:NSKeyValueObservingOptionNew 
              context:NULL]; 

並在每個I類添加該每個dealloc的:

[[NSNotificationCenter defaultCenter] removeObserver:self]; 

我的問題是:我必須removeObserver上每班?

如果我是「觀察」 CAR_MODE的類的實例Class1Class2,如果我在Class1移除CAR_MODE觀察者,我會刪除「觀察」上Class2

回答

0

首先我認爲對「階級」你的意思是「類實例」或「對象」:

如果我是「觀察」上類的Class1和Class2中CAR_MODE,如果我刪除觀察員CAR_MODE在Class1上,我會刪除Class2上的'觀察'嗎?

不,每個對象都有它自己的觀察者,所以如果在「ClassInstance1」上刪除它,它將不會在「ClassInstance2」上被刪除。

相關問題