Cocoa touch 为什么可以';新的ObjC类是否从UIViewController派生?

Cocoa touch 为什么可以';新的ObjC类是否从UIViewController派生?,cocoa-touch,uiview,uiviewcontroller,interface-builder,ios4,Cocoa Touch,Uiview,Uiviewcontroller,Interface Builder,Ios4,所以,自从第一款iPodtouch问世以来,我就一直在制作iOS应用程序,但总有一些事情让我大吃一惊;为什么新Cocoa Touch类的列表仅限于NSObject、UIView和UITableView的子类?我通常会创建UIImageView和UIViewController的子类 我做错了吗™?" 我是否完全误解了MVC,以至于我在不应该的地方创建了控制器类?要求类永远不要从基本控制器类派生出来的哲学推理是什么?是什么让你认为你不应该子类UIViewController?这直接来自的文档e>

所以,自从第一款iPodtouch问世以来,我就一直在制作iOS应用程序,但总有一些事情让我大吃一惊;为什么新Cocoa Touch类的列表仅限于NSObject、UIView和UITableView的子类?我通常会创建UIImageView和UIViewController的子类


我做错了吗™?" 我是否完全误解了MVC,以至于我在不应该的地方创建了控制器类?要求类永远不要从基本控制器类派生出来的哲学推理是什么?

是什么让你认为你不应该子类
UIViewController
?这直接来自的文档e> UIViewController:

在典型的iPhone应用程序中,通常至少有一个UIViewController自定义子类,更常见的是有几个自定义子类

MVC的C应该是可重用性最低的部分,它的全部工作是在M&V之间进行调解。如果您在代码的C部分中发现一些东西,您必须复制并粘贴到给定对象的多个子类或多个项目中,那么代码应该移到其他地方


如果您只是基于这样一个事实,即没有一个很好的弹出菜单项显示UIViewController,不要担心,苹果只是还没有为该类编写模板文件。

就像@theMikeSwan所说的,当您在Xcode GUI中创建一个新类时,根本没有GUI模板。但是您始终可以创建一个父类最初是NSObject的新子类。之后,您只需转到代码并将父类更改为您喜欢的任何类型


所以…不,你没有做错,因为你正确地理解,你经常想将UIViewController子类化;但是,是的,你做错了,因为你认为你不应该这样做,只是因为Xcode GUI不支持它:)

嗯…也许只是我,但我在使用c时看到了一个
UIViewController
子类模板选择新文件


谢谢你的回答。我只希望有一个自由格式的文本字段来定义我想要的任何后代。缺少该字段让我觉得我应该只从某些类中降序。:)