你需要调用 super.prepareForSegue: 吗?
Posted
技术标签:
【中文标题】你需要调用 super.prepareForSegue: 吗?【英文标题】:Do you need to call super.prepareForSegue:? 【发布时间】:2021-08-11 11:29:36 【问题描述】:我正在关注 Apple Books 进行学习。我目前正在使用表格视图和 segues。我得到了这段代码:
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
super.prepare(for: segue, sender: sender)
guard segue.identifier == "saveUnwid" else return
let symbol = symbolTextField.text ?? ""
let name = nameTextField.text ?? ""
let description = descriptionTextField.text ?? ""
let usage = usageTextField.text ?? ""
emoji = Emoji(symbol: symbol, name: name, description: description, usage: usage)
我唯一不明白的是他们为什么打电话给super.prepare(for: segue, sender: sender)
。
代码包含在 UITableViewController 的一个对象中,segue 会返回一个带有 Emoji 对象列表的表格视图。
【问题讨论】:
这很奇怪。 Apple 文档明确指出“此方法的默认实现不执行任何操作。” - developer.apple.com/documentation/uikit/uiviewcontroller/… 总是调用 super 可能被认为是最佳实践。 【参考方案1】:在这种情况下我们不需要调用 super,因为这个方法的默认实现(在 super 类中)什么都不做
这个方法的默认实现什么都不做。
https://developer.apple.com/documentation/uikit/uiviewcontroller/1621490-prepare
【讨论】:
以上是关于你需要调用 super.prepareForSegue: 吗?的主要内容,如果未能解决你的问题,请参考以下文章