Swift 4中继承是什么?创建AddCommentsViewController类遇继承困惑
Hey there! Let's break this down step by step—first I'll explain what inheritance means in Swift 4, then walk you through creating that AddCommentsViewController class.
1. 先搞明白Swift 4里的继承到底是什么
继承是面向对象编程的核心概念,简单说就是一个类(子类)可以“继承”另一个类(父类)的所有属性、方法和基础特性,还能在这个基础上添加自己独有的功能,甚至修改父类的部分行为。
举个实际的例子:UIViewController是苹果提前写好的父类,它已经帮我们实现了超多基础功能——比如管理屏幕上的视图、处理页面生命周期(像页面加载完成、即将消失这类事件)、支持导航栏和状态栏设置等等。当我们让AddCommentsViewController继承自它,就不用从零开始写这些重复的基础代码,直接专注于做“添加评论”这个具体功能就行,能省超多时间!
2. 手把手创建AddCommentsViewController(继承UIViewController)
下面是Xcode里的具体操作步骤:
- 打开你的iOS项目,在左侧文件导航栏里,找到你想存放这个新类的文件夹(比如可以新建一个
ViewControllers文件夹来归类),右键点击它,选择New File... - 在弹出的模板窗口里,选择iOS > Cocoa Touch Class,点击Next
- 进入配置界面后:
- 在Class输入框里,准确输入
AddCommentsViewController - 在Subclass of下拉菜单里,选择
UIViewController(这一步就是设置继承关系) - Language选择
Swift,然后点击Next
- 在Class输入框里,准确输入
- 最后选择文件的保存位置,点击Create就完成了!
3. 生成的代码解释
创建完成后,你会看到类似这样的代码:
import UIKit class AddCommentsViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 在这里写你的自定义逻辑,比如设置页面背景、添加输入框和提交按钮 view.backgroundColor = .white } // 你可以添加自己的方法,比如处理评论提交的逻辑 func submitUserComment() { // 这里写提交评论的代码,比如获取输入框内容、发送到服务器等 } }
class AddCommentsViewController: UIViewController:这是Swift里声明继承的语法,冒号后面跟着的就是你要继承的父类。override func viewDidLoad():override关键字表示我们要重写父类UIViewController里的viewDidLoad方法,这个方法会在页面加载完成后自动执行。super.viewDidLoad():必须调用这行代码,它会先执行父类viewDidLoad里的基础逻辑(比如初始化视图结构),再执行我们自己的自定义代码,避免父类的核心功能失效。
这样你就完成了要求的操作,同时也理解了继承的核心作用啦!
内容的提问来源于stack exchange,提问作者Christophe Prat
相关产品推荐
相关产品推荐

