首页 > UIViewController add和remove observer的时机

UIViewController add和remove observer的时机

如题,我希望UIViewController监听一些来自另外一个UIViewController的属性变化。

比如VC1有一个餐券的列表,用户在VC2删除了一张餐券,VC1和VC2本身是没有关系的。我希望VC1能够在VC2删除餐券的时候,将自己的餐券列表进行一次刷新。现在问题来了,我通过Storyboard创建的VC1,在VC1的viewDidLoad里面addObserver,但是用户如果多次进入VC1,VC1的viewDidLoad会多次执行,也就是说会addObserver会执行多次,这时VC1会在收到消息时进行多次的刷新。那么我在什么时机去removeOberser呢?

其中在viewWillDisappear中remove是不行的,因为这样VC1就不是监听者了,无法进行响应


首先VC1和VC2没有什么关系,你是怎么监听的??
移除监听者不是都在监听的页面dealloc的时候吗。
其次:这种事情,我都是通知做的。删除成功就发个通知,通知需要更改的页面重新请求数据(也就是刷新)。


放到dealloc里边就可以了


同意楼上,相隔太远只能发通知
【热门文章】
【热门文章】