You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ViewController与UIViewController的区别及Storyboard控制器疑问解答

ViewController vs UIViewController:核心区别与关系

1. 本质定义

  • UIViewController:这是苹果UIKit框架原生提供的基础父类,封装了iOS视图控制器的核心能力——比如视图生命周期管理、视图层级维护、导航跳转逻辑等,是所有iOS视图控制器的"根基",你无法修改它的源码。
  • ViewController:这是Xcode新建项目时默认生成的自定义子类,直接继承自UIViewController。你可以在这个类里编写项目专属的业务逻辑(比如按钮点击事件、数据加载、界面交互逻辑),是实现业务功能的载体。

2. Storyboard中的控制器是什么?

当你在main.storyboard里拖入"View Controller"组件时,它本质是UIViewController的一个实例,但默认会关联到你项目里的ViewController类(你可以在Xcode右侧的Identity Inspector面板里查看或修改这个关联关系)。简单说:storyboard里的控制器是"带着你自定义逻辑的UIViewController实例"。

3. 二者的关系

它们不是相同概念,也不是互补关系,而是继承关系:

  • UIViewController是通用的基础模板,定义了所有视图控制器的标准行为;
  • ViewController(以及你后续创建的HomeViewController、SettingsViewController等自定义控制器)是基于这个模板扩展出来的、适配具体业务需求的子类。

内容的提问来源于stack exchange,提问作者Dmytro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 11:11:20