下面是我的代码段?
extension UISwitch{ open override func draw(_ rect: CGRect) { self.tintColor = UIColor.red } }
根据apple文档,您不应在扩展名中进行覆盖。我明白了现在,我在此代码中没有出现错误,并且应用程序中的所有开关都具有红色作为色调。
我读过由于动态分配而起作用的文章,因为UISwitch是NSObject继承的类。
有人可以帮助我理解这个概念吗?为什么我们不应该这样做?如果swift是静态调度,这仍然如何工作?