Ric*_*ter 6 uiviewcontroller ios childviewcontroller ios6
这对我来说是一个严重的问题.在具有多层子视图控制器的代码库上工作大约4-5层 - 这是一个平板电脑应用程序,在视图控制器之间具有非常高的解耦程度.第5层子视图控制器想要向顶级视图控制器发送消息以显示模态.第4层和第3层也有不同的消息,所以基本上现在我有4个协议,从嵌入到祖先viewcontroller深处的子视图控制器发送消息变得非常复杂.有更简单的方法吗?
我们考虑过使用NSNotification但不是特别喜欢它,因为它很难调试它,并且订阅不是我们控制范围内的明确依赖.我们还考虑过使用单例,但静态和单例是邪恶的(对吧?)并导致状态和并发问题.
任何帮助表示赞赏.此外,我意识到我意识到这是一个稍微开放的基于设计的问题,但它有一个非常具体的用例(如上所述).
这是一个有趣的问题,但我想我们需要一些提示,例如方案。
第一个想法是为什么需要添加嵌套子项?您不能使用简单的堆栈和单个容器 VC 进行管理吗?你管理风险投资的方式似乎不正确。如果他们需要通知模型中的更改,则应该只有可见的内容才能捕获它们,在其他人的 viewWill/Did/appear 中,您可以再次询问新数据。如果你需要通知每个 VC 他们的状态,我认为你应该修改你的层次结构。
我想象一个具有堆栈或一组 VC 和可见 VC 属性的容器 VC。该容器将管理信息交换。正如 rdelmar 所说,这看起来耦合度确实很高。您应该重新考虑仅在容器和可见 VC 之间进行通信的方式,其他人可以在出现时刷新其数据。
| 归档时间: |
|
| 查看次数: |
494 次 |
| 最近记录: |