开发者社区> 问答> 正文

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就不是监听者了,无法进行响应

展开
收起
a123456678 2016-07-28 14:54:01 2185 0
1 条回答
写回答
取消 提交回答
  • 首先VC1和VC2没有什么关系,你是怎么监听的??
    移除监听者不是都在监听的页面dealloc的时候吗。
    其次:这种事情,我都是通知做的。删除成功就发个通知,通知需要更改的页面重新请求数据(也就是刷新)。

    2019-07-17 20:01:24
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载