我正在使用最新的SDK开发iOS应用程序。
我在很多课程上都有这段代码:
[[NSUserDefaults standardUserDefaults] addObserver:self
forKeyPath:CAR_MODE
options:NSKeyValueObservingOptionNew
context:NULL];
在每个课程中,我在每个dealloc上添加:
[[NSNotificationCenter defaultCenter] removeObserver:self];
我的问题是:我是否必须在每个课程中删除Observer?
如果我正在观察'关于类实例CAR_MODE
和Class1
的{{1}},如果我删除了Class2
上CAR_MODE
的观察者,我是否会删除'观察'在Class1
?
答案 0 :(得分:0)
首先,我假设“class”是指“class instance”或“object”:
如果我在类Class1和Class2上“观察”CAR_MODE,如果我在Class1上删除了CAR_MODE的观察者,我是否会删除Class2上的“观察”?
不,每个对象都有自己的观察者,所以如果你在“ClassInstance1”上删除它,它就不会被“ClassInstance2”删除。