Iphone 在objective-C中开发而不使用Interface Builder时的MVC
当视图不是用Interface Builder创建时,在Objective-C(Cocoa/iPhone)中实现真正的MVC的正确方法是什么Iphone 在objective-C中开发而不使用Interface Builder时的MVC,iphone,objective-c,cocoa,model-view-controller,design-patterns,Iphone,Objective C,Cocoa,Model View Controller,Design Patterns,当视图不是用Interface Builder创建时,在Objective-C(Cocoa/iPhone)中实现真正的MVC的正确方法是什么 当我在项目中不使用Interface Builder时,如何最好地构造代码并将MVC模式的不同组件连接在一起?通常您会创建要显示的元素的子类。例如,在init方法中设置的UITableView。通过这种方式,您的ViewController只是将它的一个实例出列通常,当您试图在没有nib文件帮助的情况下创建视图时,您必须实现该视图的controller的l
当我在项目中不使用Interface Builder时,如何最好地构造代码并将MVC模式的不同组件连接在一起?通常您会创建要显示的元素的子类。例如,在init方法中设置的UITableView。通过这种方式,您的ViewController只是将它的一个实例出列通常,当您试图在没有nib文件帮助的情况下创建视图时,您必须实现该视图的controller的loadView方法
所以我的答案是,任何与V相关的东西都会转到控制器实现中的loadView方法,与C相关的任何其他逻辑内容都将进入控制器实现的其余部分。这实际上是一个品味问题:有些人绝对认为,对于一个viewController,可以有一个且只有一个视图,因此唯一的方式是为每个视图将UIView子类化。我完全同意viewController管理构成屏幕的多个子视图,我只在重用性方面有意义的地方将UIView子类化。事实上,我也同意一个viewController使用多个viewController来管理视图的不同独立部分,例如UINavigationController。谢谢您的回答。如果我想将视图进一步分离到一个单独的类中,而不是在一个方法中创建所有UI组件,您会建议在从UIView派生的单独类中这样做吗?@Emmanuel:我理解您对尽可能保持分离模块的关注。然而,一般来说,如果我们决定以编程方式构造UIView的子类,我们通常在控制它的控制器中进行。它确实在一定程度上降低了代码的可重用性。但它使以下接线插座工作更省时,更易于维护。