代码之家  ›  专栏  ›  技术社区  ›  user4992124

插入协议中的viewDidLoad()

  •  0
  • user4992124  · 技术社区  · 6 年前

    UIViewController . 该协议的目标是,例如,自动添加一个关闭按钮作为 rightBarButtonItem

    class ViewController: UIViewController, ModalController {
    }
    

    实现这一目标的最佳方式是什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Fabian    6 年前

    协议如何自动完成某项工作?协议强制某些函数和变量的存在,并可以提供默认实现以及可调用的扩展功能。

    这就是为什么从UIViewController派生更有意义。

    另一个选项是创建容器ViewController。一个ModalViewController,作为一个容器,将给定的UIViewController嵌入其中。这样可以为后退按钮留出空间。

    完成几个教程并获得一些代码使其变得简单后,ViewController的合成就不那么糟糕了。ViewController合成通常可以使编写ViewController变得美观;)。这是避免ViewControllers过于臃肿的唯一方法,因此,如果你想玩长时间的游戏,这是一项很好的技能。

    Tutorial on ViewController composition.