swift - 我可以覆盖已被扩展覆盖的方法吗?

时间:2017-04-28 18:32:05

标签: swift

我尝试创建一个扩展来调试类,以便在输入某些方法时打印一些输出。我希望能够在许多不同的类中重用此代码,并且我希望保持这些类不受此调试代码的影响,同时也不会重复代码(保持DRY)。这就是为什么我想要使用这样的扩展程序:

Object

我想在调用class A: ... { override func myMethod() { super.myMethod() print("hello A") } } extension A { override func myMethod() { print("hello extension") } } 时看到这个

myMethod()

(或者相反,我不在乎)

但问题是编译器说的是hello extension hello A

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

扩展可以为类型添加新功能,但不能 覆盖现有功能。

答案在这里Swift override function in extension