Avatar ·

Pourquoi l'inférence implicite @objc est-elle dépréciée dans Swift 4 et comment y remédier ?

Bonjour à tous ! J'ai récemment mis à jour mon projet de Swift 3 vers Swift 4 (j'utilise Xcode 9 beta) et j'ai rencontré un tas d'avertissements. Le compilateur écrit quelque chose comme : « The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please minimize deprecated @objc inference... » Avant, j'écrivais du code en Swift 3, et mes selectors pour les boutons, target-action, ainsi que les méthodes appelées depuis Objective-C fonctionnaient. Par exemple, ce code simple fonctionnait sans problème : ```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") } } ``` Après la mise à jour vers Swift 4, je reçois un avertissement sur la ligne avec `#selector(buttonTapped)`. Je comprends que cela est lié aux nouvelles règles d'inférence de `@objc`, mais je ne maîtrise pas complètement le sujet. Pourquoi