0%

父子、子子控制器间的通信

有一个容器控制器P,它下面有三个子控制器A、B、C。有时候我们需要在ABC之间共享一些状态信息。

一种可行的做法:在P下面挂一个statusContext对象(信息少也可以直接平铺在P下),三个子控制器访问这个statusContext对象达到数据通信的目的。这种方案适合状态查询这种非即时处理的场景,如果是那种需要即时处理事件的场景,那么还是使用代理,通知,block比较好。

另外一种方法:直接单例搞起,单例在ABC之间穿梭。不太推荐。有几个原因:1.单例因为使用过于方便导致很容易被滥用,滥用后,会很难追踪某个属性到底是在哪个地方修改的。2.单例创建后一般不会主动销毁,导致很难维护它上面的状态信息,下一次使用时可能会残存上一次的状态信息。

觉得文章有帮助可以打赏一下哦!