Avatar ·

Por qué en Swift 4 está obsoleto el @objc implícito y cómo solucionarlo?

¡Hola a todos! Recientemente actualicé mi proyecto de Swift 3 a Swift 4 (usando Xcode 9 beta) y me encontré con un montón de advertencias. El compilador dice algo como: «The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please minimize deprecated @objc inference...» Antes escribía código en Swift 3, y funcionaban los selectors para botones, target-action, así como métodos que se llamaban desde Objective-C. Por ejemplo, este código simple funcionaba sin problemas: ```swift class MyViewController: UIViewController { @IBOutlet weak var myButton: UIButton! override func viewDidLoad() { super.viewDidLoad() myButton.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside) } func buttonTapped() { print("Button tapped") } } ``` Después de actualizar a Swift 4, recibo una advertencia en la línea con `#selector(buttonTapped)`. Entiendo que esto está relacionado con las nuevas reglas de inferencia de `@objc`, pero no lo entiendo del todo. Por qué