这对我来说是一个严重的问题。使用具有大约 4-5 层深度的多层子视图控制器的代码库工作 - 这是一个在视图控制器之间具有高度解耦的平板电脑应用程序。第 5 层子 viewcontroller 想要向顶层 viewcontroller 发送消息以显示模态。第 4 层和第 3 层也有不同的消息,所以基本上现在我有 4 个协议,并且将消息从嵌套在深处的子视图控制器发送到祖先视图控制器变得非常复杂。有没有更简单的方法来做到这一点?
我们考虑过使用 NSNotification 但并不是特别喜欢它,因为它难以调试并且订阅不是我们控制范围内的明确依赖项。我们还考虑过使用单例,但静态和单例是邪恶的(对吗?),并且会导致状态和并发方面的问题。
任何帮助表示赞赏。我也意识到我意识到这是一个稍微开放式的基于设计的问题,但它有一个非常具体的用例(就像上面描述的那样)。