根模型类

时间:2018-04-10 14:03:32

标签: swift

我想知道从基本模型类触发事件时最佳做法是什么,这将在所有视图控制器上产生共同的结果。假设我有一个共享的全局变量,它可以根据不同的输入触发事件。无论我在我的应用程序中,我希望显示一个包含相同信息的弹出窗口。凭借我对视图控制器和swift的了解,我唯一的选择是在每个视图控制器中实现相同的代码,因为我必须为每个视图添加相同的弹出窗口,具体取决于我的位置。

如果我可以从全局根视图控制器中弹出该弹出窗口,那会不会很好?

我是否错过了一般的编码练习?

1 个答案:

答案 0 :(得分:0)

我的第一个想法是使用导航控制器(UINavigationController)作为根控制器,然后使用

navigationController?.topViewController
从添加到该导航控制器的任何视图控制器

可能会出现问题:如果您已经显示警报视图控制器,应用程序将尝试在另一个警报控制器之上显示警报控制器。您可以保留某种全局状态,或检查topViewController的类型。