使用情节提要时,何时观察模型数据



假设我有一个地址簿应用程序。因此,从地址列表中,我现在推到这样的详细视图:

  1. 用户点击主列表中的单元格
  2. Segue showDetail被调用
  3. prepareForSegue:中,我设置了ContactDetailViewController的模型对象contact
  4. viewWillAppear我为self.contact添加了一个观测器
  5. 因此,现在当contact对象在后台发生更改时,局部视图将自动更新
  6. viewWillDisappear中,我删除了这个观察者(我想它是干净的,因为它是对称的)

但是,在我设置联系人之后,viewWillAppear:被称为。因此,我应该以不同的方式设置KVO,还是简单地在viewWillAppear中调用我的updateView函数,这有点愚蠢,因为我首先想摆脱那些使用KVO的调用。

当您调用addObserver:...时,您希望包含选项NSKeyValueObservingOptionInitial。这将导致KVO在添加观察的同一调用中发送相当于didChangeValueForKey:通知的通知(即"初始"通知)。这将导致您的视图在那时更新。

最新更新