Xcode 为什么UIViewController有xib文件而UIViews没有?

Xcode 为什么UIViewController有xib文件而UIViews没有?,xcode,model-view-controller,uiview,uiviewcontroller,Xcode,Model View Controller,Uiview,Uiviewcontroller,当我在xcode中创建一个新的UIViewController时,它为我提供了一个接口的相关nib。但是,当我创建UIView时,它不会。如果我对MVC的理解是正确的,那么视图实际上应该是包含接口元素(即nib)的部分,而视图控制器是将功能与它们控制的视图挂钩的部分 我相信无论哪种方式,我都能让它一起工作,所以这更像是一个探索性的问题 在这种情况下,我似乎对如何使用这两个部分缺少一些基本的理解。我缺少什么?因为UIView通常不以这种方式使用。 然而我最终得到的满足我兴趣的答案大致如下: 视图控

当我在xcode中创建一个新的UIViewController时,它为我提供了一个接口的相关nib。但是,当我创建UIView时,它不会。如果我对MVC的理解是正确的,那么视图实际上应该是包含接口元素(即nib)的部分,而视图控制器是将功能与它们控制的视图挂钩的部分

我相信无论哪种方式,我都能让它一起工作,所以这更像是一个探索性的问题


在这种情况下,我似乎对如何使用这两个部分缺少一些基本的理解。我缺少什么?

因为UIView通常不以这种方式使用。
然而

我最终得到的满足我兴趣的答案大致如下:

视图控制器的任务是管理视图层次结构。Interface Builder是创建视图层次结构的优秀工具。Xcode提供在创建新的视图控制器时创建.xib,因为您很可能希望从.xib加载控制器的视图


.xib文件并不一定要保存进入视图的每个UIView(或子类),只是视图的一般轮廓,在视图的生命周期中不会更改。其他UIView更容易以编程方式创建,因为它们经常更改。

我也有类似的困惑。基本上(根据MVC),视图包含在控制器内部。在iPhone中,这意味着UIViewController有一个名为“view”的属性,它是UIView实例

XIB文件(不经常提及)是一个序列化的UIView实例。它大致是一种XML子格式,表示UIView及其所有后续视图。因此,当您创建UIViewController时,UIView将以XIB的形式创建并绑定到该控制器


因此,新的UIView没有XIB,因为它们本质上是相同的东西…

不,这是我的问题。为什么不那样用呢?你就到了。详细说明这两个对象的用途以及我对其用途的假设是错误的原因。它们被称为:UIView绘制数据(图像),但对其一无所知(即人的图像)。UIViewController将数据(此图像)提供给其视图。