Ниже мой фрагмент кода?
extension UISwitch{
open override func draw(_ rect: CGRect) {
self.tintColor = UIColor.red
}
}
Согласно документации Apple, вы не должны переопределять в расширении. Это я поняла. Теперь я не получаю сообщение об ошибке в этом коде, и все переключатели в моем приложении имеют красный цвет оттенка.
Я читал статьи о том, что это работает из-за динамической отправки, поскольку UISwitch является классом, унаследованным NSObject.
Может кто-нибудь помочь мне понять эту концепцию? Почему бы нам не сделать это? Если swift - статическая отправка, как это все еще работает?