gpt4 book ai didi

swift - 如何强制重写方法在 Swift 中调用 super?

转载 作者:搜寻专家 更新时间:2023-10-31 23:00:24 24 4
gpt4 key购买 nike

我有一个具有一些功能的抽象 View Controller 。一些 View Controller 将扩展抽象 Controller 并覆盖一些功能。当任何 View Controller 覆盖它们时,我需要强制执行一些函数来调用 super.

最佳答案

我建议您将公共(public)方法设为final并公开空 internal在抽象类中不执行任何操作但在公共(public)类中调用的方法 final方法。

像这样:

class AbstractViewController {
internal func willDoStuff() {
}

internal func didDoStuff() {
}

final public func doStuff() {
willDoStuff()
// Do the stuff
didDoStuff()
}
}

class RealViewController : AbstractViewController {
override internal func willDoStuff() {
print("Will do stuff")
}
}

let viewController = RealViewController()
viewController.doStuff()

关于swift - 如何强制重写方法在 Swift 中调用 super?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36599693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com