我想写一个可以在所有UIViewController
模态中使用的协议。该协议的目标是,例如,自动添加一个关闭按钮作为rightBarButtonItem
。通过执行以下操作:
class ViewController: UIViewController, ModalController {
}
实现这种目标的最佳方法是什么?
答案 0 :(得分:1)
协议如何自动执行某项操作?协议强制某些功能,变量的存在,并且可以提供默认实现以及可以调用的扩展功能。
这就是为什么从UIViewController派生更有意义的原因。
另一个选择是创建一个容器ViewController。一个ModalViewController作为容器,它将一个给定的UIViewController嵌入其中。这样,您可以为后退按钮腾出空间。
一旦您完成了一些教程并获得了一些使代码变得简单的代码,ViewController的组成就不是那么糟糕。通常,ViewController的组成可以使ViewControllers的编码变得漂亮;)。这是避免大量膨胀的ViewController的唯一方法,因此,如果您参加长期比赛,这是一项很好的技能。