1

在我的代码中,有一个罕见的例子,观察者将被第二次移除。这会导致问题吗?

4

1 回答 1

1

是的。如果您不是观察者并且您尝试移除自己,您的应用程序将会崩溃。没有办法检查您是否已注册,因此您必须创建一个 ivar 来标记您是否被添加为观察者(或者,也许更好的是,计算您被添加为观察者的次数)并在实际删除自己之前检查 ivar。

编辑:原来你可以在添加之前删除自己,所以我想,虽然这不是一个很好的设计,但如果你删除自己两次也没关系。

于 2012-09-01T05:15:58.443 回答