首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么XCode用xxxViewController而不是xxxController作为控制器的前缀?

为什么XCode用xxxViewController而不是xxxController作为控制器的前缀?
EN

Stack Overflow用户
提问于 2012-01-28 21:12:38
回答 2查看 236关注 0票数 1

我不明白:在所有关于iOS的教程中,它展示了一个经典的三部分模型,视图,控制器,那么为什么XCode在控制器前面加上xxxViewController而不是xxxController呢?

这使得人们相信控制器只是用于视图,而不是用于模型,并且比经典的MVC更接近MVVM。

在给出的答案中,它说它不是MVC。

但是如果我看一下斯坦福大学的课程,它清楚地将iOS开发描述为Lecture1.pdf @ http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-fall中的经典MVC

EN

回答 2

Stack Overflow用户

发布于 2012-01-28 21:15:20

Xcode并不是对所有的控制器都这样做,只对视图控制器(它们是UIViewController的子类)。它使得查找管理视图的控制器变得更容易,您可以创建其他控制器,并随心所欲地命名它们。

票数 1
EN

Stack Overflow用户

发布于 2012-01-28 21:19:00

作为this Apple discussion thread中的g_wolfman注释

尽管苹果在其开发人员文档中使用了术语

,但他们实际上并没有使用它;他们使用的是表示-抽象-控制(PAC)|http://en.wikipedia.org/wiki/Presentation-abstraction-control.的一个变体

关键的区别在于,在MVC中,视图直接从模型中获取信息,而控制器只关心更改模型。因此,作为创建视图的一部分,视图可能需要知道如何转换模型中的数据。在PAC中,视图和模型是完全相互隔离的;所有内容都通过控制器。这允许以避免需要任何“业务逻辑”的方式编写视图。

编辑-来自苹果文档- http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaDesignPatterns/CocoaDesignPatterns.html#//apple_ref/doc/uid/TP40002974-CH6-SW1

组合角色

可以合并由对象扮演的MVC角色,例如,使对象同时满足控制器和视图角色-在这种情况下,它将被称为视图控制器。同样,您也可以拥有模型控制器对象。对于某些应用程序,像这样组合角色是一种可接受的设计。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9045489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档