覆盖方法迅速调用扩展(类别)中声明的原始方法?

时间:2019-02-06 15:23:59

标签: swift override extension-methods categories method-call

我的代码:

extension UIViewController {
    @IBAction func someFunc() {
        ...
    }
}

class CustomViewController: UIViewController {
    @IBAction override func someFunc() {
        ...
    }
}

CustomViewController.someFunc()可以打电话给UIViewController.someFunc()吗?

有类似的问题,但我却不同。 注意::原始方法是在扩展而非父类中声明的!

1 个答案:

答案 0 :(得分:2)

您只需要致电super.someFunc()

class CustomViewController: UIViewController {
    @IBAction override func someFunc() {
        // Call super method
        super.someFunc()
        // Do override specific stuff
        ...
    }
}

P.S .:请注意,您在示例中忘记了从UIViewController继承。