在SWIFT 4中,我如何處理@objc推斷反對#selector()?我正在嘗試將我的項目的源代碼從SWIFT 3轉換到SWIFT 4。Xcode給我的一個警告是關于我的選擇器。例如,我使用常規選擇器將目標添加到按鈕中,如下所示:button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside)這就是它所顯示的警告:‘#selector’的參數是指在‘ViewController’中依賴于‘@objc’屬性推斷的實例方法‘myAction()’,在SWIFT 4中不推薦使用該方法。添加@objc以將此實例方法公開給Object-C現在,打Fix在錯誤消息中,對我的函數執行以下操作:// beforefunc myAction() { /* ... */ }// after@objc func myAction() { /* ... */ }我不想將所有函數重命名為包含@objc馬克和我認為這是不必要的。如何重寫選擇器以處理不推薦項?有關問題:建議在SWIFT 4模式下使用SWIFT 3@objc推理?
1 回答

Qyouu
TA貢獻1786條經驗 獲得超11個贊
```
let tap = UITapGestureRecognizer(target: self, action: #selector(self.cancel))@IBAction func cancel(){ self.dismiss(animated: true, completion: nil)}
- 1 回答
- 0 關注
- 668 瀏覽
添加回答
舉報
0/150
提交
取消