Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我的代码中,有一个罕见的例子,观察者将被第二次移除。这会导致问题吗?
是的。如果您不是观察者并且您尝试移除自己,您的应用程序将会崩溃。没有办法检查您是否已注册,因此您必须创建一个 ivar 来标记您是否被添加为观察者(或者,也许更好的是,计算您被添加为观察者的次数)并在实际删除自己之前检查 ivar。
编辑:原来你可以在添加之前删除自己,所以我想,虽然这不是一个很好的设计,但如果你删除自己两次也没关系。