代码之家  ›  专栏  ›  技术社区  ›  Vyachaslav Gerchicov

重写的方法调用swift中扩展(类别)中声明的原始方法?

  •  -2
  • Vyachaslav Gerchicov  · 技术社区  · 7 年前

    我的代码:

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

    可以 CustomViewController.someFunc() 呼叫 UIViewController.someFunc()

    有相似的问题,但我的不同。 注:

    1 回复  |  直到 7 年前
        1
  •  2
  •   Martin R    7 年前

    你只需要打个电话 super.someFunc()

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

    请注意,您忘记了继承您的遗产 UIViewController