1

我正在使用最新的 SDK 开发一个 iOS 应用程序。

我在很多课程上都有这段代码:

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

在每个类上,我在每个 dealloc 上添加:

[[NSNotificationCenter defaultCenter] removeObserver:self];

我的问题是:我必须在每个班级上删除观察者吗?

如果我CAR_MODE在类实例上“观察”,Class1并且如果我删除on 的Class2观察者,我会删除“观察”吗?CAR_MODEClass1Class2

4

1 回答 1

0

首先,我假设对于“类”,您的意思是“类实例”或“对象”:

如果我在 Class1 和 Class2 上“观察”CAR_MODE,如果我删除 Class1 上 CAR_MODE 的观察者,我是否会删除 Class2 上的“观察”?

不,每个对象都有自己的观察者,所以如果你在“ClassInstance1”上删除它,它不会在“ClassInstance2”上被删除。

于 2013-03-25T10:06:17.273 回答