【发布时间】:2010-12-23 02:46:11
【问题描述】:
我在 initWithFrame: 下创建的自定义 UIView 中添加了一个观察者。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateZipFromLocation:)
name:@"zipFoundFromLocation"
object:nil];
问题是,这个视图是一个子视图。当视图再次加载时,它再次调用 initWithFrame 消息,从而添加了两个观察者等等。当视图将要消失时,如何移除观察者?因为它是一个UIView,所以它说viewWillDisappear:(BOOL)animated 不是一个有效的方法。有什么想法吗?
【问题讨论】:
-
提醒一下,KVO指的是key-value observing,和
NSNotificationCenter是不同的概念。 -
糟糕,对这一切还是有点陌生。 :)
标签: iphone objective-c cocoa-touch uiview nsnotifications