Попытка установить изображение на кнопку при нажатии. Проверено, что обработчик targetAction всегда вызывается в главном потоке.
Это не работает
@objc func buttonTapped() {
self.mybutton.imageView?.image = MyObjcClass.getImageNamed("DarkVersion")
}
Но это работает:
@objc func buttonTapped() {
DispatchQueue.main.async { // Does not work without this dispatch
self.mybutton.imageView?.image = MyObjcClass.getImageNamed("DarkVersion")
}
}
На отладчике I видно, что оба находятся в основном потоке