UIViewController和ViewController之间的区别是什么?

时间:2015-11-27 09:26:46

标签: objective-c

我刚刚在添加新ViewController之后发现它不像Xcode创建的那样UIViewController。我没有在谷歌上找到答案,所以我希望你们中的一个能够向我解释这两者之间的区别。

修改

澄清我的问题:

这是我的UIViewController

的声明
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

这是我ViewController

的声明
 #import "ViewController.h"

@interface GameViewController : ViewController

这两个ViewControllers有什么区别?

4 个答案:

答案 0 :(得分:3)

  

这两个ViewControllers有什么区别?

不是很多,但它取决于ViewController中定义的功能。创建一个包含所有派生类所需的通用功能的基类是相当常见的,并且视图控制器类在这里也不例外。

但是,如果ViewController不包含任何实际功能,那么您只需将其删除并直接从GameViewController派生UIViewController

#import <UIKit/UIKit.h>

@interface GameViewController : UIViewController

如果Xcode在一次操作中同时生成了ViewControllerGameViewController,我会非常惊讶,但是你在问题中暗示了这一点。如果确实如此,那对我来说是新的,我不知道为什么会这样做。

答案 1 :(得分:2)

视图控制器是一个概念,用于管理用户界面和交互的一部分。

基于documentation

  

查看控制器是应用内部结构的基础。每个应用程序至少有一个视图控制器,大多数应用程序有几个。每个视图控制器都管理应用程序用户界面的一部分以及该界面与底层数据之间的交互。视图控制器还可以促进用户界面不同部分之间的转换。

UIViewController只是已经定义的#34; View Controller&#34;的基类,如你所说,你添加了一个viewController,但是一个viewController有一个与之关联的类,可以是UIViewController,UITableViewController,或变体/子类。

答案 2 :(得分:1)

UIViewController提供视图的基础结构,当您创建自己的ViewController时,它继承自UIViewController。为了清楚起见:你不修改UIViewController,你将它子类化,然后由你自己修改。

答案 3 :(得分:1)

UIViewController是Apple提供的一个类。为了对您的应用程序执行UI自定义,您通常会创建UIViewController的子类。 ViewController是UIViewController的一个示例子类。