快速覆盖扩展-不能还是不应该?

时间:2019-03-20 15:11:20

标签: ios swift nsobject dynamic-dispatch static-dispatch

下面是我的代码段?

extension UISwitch{
    open override func draw(_ rect: CGRect) {
        self.tintColor = UIColor.red
    }
}

根据apple文档,您不应在扩展名中进行覆盖。我明白了现在,我在此代码中没有出现错误,并且应用程序中的所有开关都具有红色作为色调。

我读过由于动态分配而起作用的文章,因为UISwitch是NSObject继承的类。

有人可以帮助我理解这个概念吗?为什么我们不应该这样做?如果swift是静态调度,这仍然如何工作?

0 个答案:

没有答案