覆盖的方法调用在 swift 中的扩展(类别)中声明的原始方法?
Overriden method calls original method declared in extension (category) in swift?
我的代码:
extension UIViewController {
@IBAction func someFunc() {
...
}
}
class CustomViewController: UIViewController {
@IBAction override func someFunc() {
...
}
}
可以CustomViewController.someFunc()
调用UIViewController.someFunc()
吗?
有类似的问题,但我的不一样。 注意: 原始方法是在扩展中声明的,而不是父方法 class!
您只需致电 super.someFunc()
。
class CustomViewController: UIViewController {
@IBAction override func someFunc() {
// Call super method
super.someFunc()
// Do override specific stuff
...
}
}
P.S.: 请注意,您忘记在示例中继承自 UIViewController
。
我的代码:
extension UIViewController {
@IBAction func someFunc() {
...
}
}
class CustomViewController: UIViewController {
@IBAction override func someFunc() {
...
}
}
可以CustomViewController.someFunc()
调用UIViewController.someFunc()
吗?
有类似的问题,但我的不一样。 注意: 原始方法是在扩展中声明的,而不是父方法 class!
您只需致电 super.someFunc()
。
class CustomViewController: UIViewController {
@IBAction override func someFunc() {
// Call super method
super.someFunc()
// Do override specific stuff
...
}
}
P.S.: 请注意,您忘记在示例中继承自 UIViewController
。