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

Objective-C自动参考计数(ARC)和关键值观察,objective-c,cocoa,key-value-observing,automatic-ref-counting,nsnotificationcenter,Objective C,Cocoa,Key Value Observing,Automatic Ref Counting,Nsnotificationcenter,我正在使用ARC编写一个Objective-C应用程序,这无疑是一个很大的改进,尽管我从来都不在乎保留计数。然而,有一个案例我第一眼就在文档中找不到 如果在我的init方法中,我调用[self addObserver:self forKeyPath:…]以获取关于何时使用@property指令声明ivar的通知,我是否需要在dealloc方法中显式调用removeObserver…,或者ARC是否处理键值观察者清理?类似地,如果我将对象添加到NSNotificationCenter,是否需要在d

我正在使用ARC编写一个Objective-C应用程序,这无疑是一个很大的改进,尽管我从来都不在乎保留计数。然而,有一个案例我第一眼就在文档中找不到


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

您需要调用
removeObserver
,ARC仅自动保留计数<代码>移除观察者不会影响保留计数

谢谢!这是我最初的想法,但我不确定。