0

我想添加一个视图控制器作为通知的观察者。

当调用选择器方法时,我会提醒用户。我希望此警报仅在此视图控制器是顶视图控制器时出现。

我想将它添加为viewDidLoad方法中的观察者。但是将视图控制器作为观察者在哪里更好呢?

如果我同时在viewDidUnload和中删除它会不会有问题dealloc

4

1 回答 1

2

不,根据文档

从接收者的调度表中删除所有指定给定观察者的条目。

如果没有此类条目,则无需删除任何内容,因此这不是问题。

但是,根据您使用它的方式,将其添加为 viewDidLoad 中的观察者并不意味着它只会在该视图控制器是“顶视图控制器”时使用(例如,如果您有多个选项卡并移动从一个到另一个,除非您收到内存警告,否则其他(不可见)选项卡的视图在您离开它们时不会被卸载)。

根据您的目标,最好在 viewDidAppear 上添加观察者(如果是这样,在 viewWillDisappear 上删除)。

于 2011-04-03T19:20:35.933 回答