Cocoa触摸视图/视图控制器约定



我是iOS开发新手,正在与现有项目合作。我只是有一个关于视图和视图控制器应该如何概念化的问题,以及处理它们的约定是什么。

我注意到,基础UIViewController类有一个属性view引用了一个实际的"物理"(缺乏一个更好的词)视图,而控制器本质上管理物理视图(并将其绑定到模型等-我理解的标准mvc的东西)。

这表明视图控制器在cocoa touch中具有概念上的优先权。然而,当添加子视图(到父物理视图?)或父视图控制器?)它接受物理视图,而不是视图控制器。

是否期望我首先创建子视图控制器(大概创建自己的物理视图),然后将其view属性传递给addSubView ?我只是想确保我在这里没有错过传统工作流程中一些明显的东西。

视图和视图控制器不是1:1的比例。视图控制器管理给定功能区域所需的尽可能多的视图——在iPhone上,通常是一个充满内容的屏幕,但这个定义略有变化。

控制器的view属性就是父视图——它可以有许多子视图,只要你需要完成工作。控制器在这些视图和数据模型之间进行协调,以交付应用程序的功能。

你可以有子视图控制器,它们被添加到视图控制器层次结构以及视图层次结构(子视图控制器的视图被添加为父视图控制器视图的子视图),但你不会对每个子视图都这样做。

在WWDC 2012("视图控制器的进化",IIRC)上有一个很棒的演讲很好地解释了这一点。

最新更新