为什么可以覆盖扩展中的某些功能?

时间:2017-03-28 09:29:01

标签: ios swift swift3

只是好奇它是如何工作的,为什么可以从扩展而不是其他功能覆盖某些功能? 例如。

class SomeClass { }

extension UIViewController {
    func testFunction(bool: Bool) { }
    func someOtherFunction(someClass: SomeClass) { }
}

class testViewController: UIViewController {
    override func testFunction(bool: Bool) { }
    override func someOtherFunction(someClass: SomeClass) { }
}

在这种情况下,第一个是好的,因为它只包含一个bool,但是SECOND一个不是,因为它需要我的类对象。 所以第二个会抛出Declarations from extensions cannot be overriden yet,但这显然不是真的,因为我在上面的行中这样做。

0 个答案:

没有答案