Objective-C自动参考计数(ARC)和键值观察

Jus*_*kva 5 cocoa objective-c key-value-observing nsnotificationcenter automatic-ref-counting

我正在使用ARC编写一个Objective-C应用程序,尽管我从未真正意识到保留计数,但这绝对是一个很大的进步.但是,有一个案例我乍看之下在文档中找不到.

如果在我的init方法中,我调用[self addObserver:self forKeyPath:…]以获取有关使用@property指令声明的ivar的通知,是否需要显式调用removeObserver…dealloc方法,或者ARC是否处理键值观察器清理?同样,如果我将对象添加到a NSNotificationCenter,是否需要明确删除dealloc

zap*_*aph 5

您需要调用removeObserver,ARC只会自动保留计数. removeObserver不影响保留计数