Xcode 8.2.1为基于页面的iOS应用程序生成的Pristine模板在其根视图控制器上实现了模型控制器getter(下面的代码片段)。返回的模型控制器用作页面视图控制器的数据源等。
相当明显的是getter是如何工作的,只有一次实例化模型控制器然后重用实例才有意义。令人费解的是吸气剂内部的评论。它指出“在更复杂的实现中,模型控制器可以传递给视图控制器”。但是,它没有说明如何完成传球。
将模型控制器传递给视图控制器有哪些选项?我只能想象通过Interface Builder建立连接。
相关代码段:
class RootViewController: UIViewController, UIPageViewControllerDelegate {
// ...
var modelController: ModelController {
// Return the model controller object, creating it if necessary.
// In more complex implementations, the model controller may be passed to the view controller.
if _modelController == nil {
_modelController = ModelController()
}
return _modelController!
}
var _modelController: ModelController? = nil
// ...