[英]removeObserver on one class, will remove all observers for the same keypath on all classes?
我正在使用最新的SDK開發iOS應用程序。
我在許多類上都有此代碼:
[[NSUserDefaults standardUserDefaults] addObserver:self
forKeyPath:CAR_MODE
options:NSKeyValueObservingOptionNew
context:NULL];
在每個類上,我在每個dealloc上添加以下代碼:
[[NSNotificationCenter defaultCenter] removeObserver:self];
我的問題是: 每個類上都必須刪除removeObserver嗎?
如果我在類實例Class1
和Class2
上“觀察” CAR_MODE
,如果我在Class1
上除去CAR_MODE
觀察者,是否要在Class2
上除去“觀察”?
首先,我假設對於“類”,您指的是“類實例”或“對象”:
如果我在類Class1和Class2上“觀察” CAR_MODE,如果我在類1上去除CAR_MODE的觀察者,是否要在類2上去除“觀察”?
不,每個對象都有其自己的觀察者,因此,如果在“ ClassInstance1”上將其刪除,則不會在“ ClassInstance2”上將其刪除。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.