5
ฉันจะจัดการกับการเลิกใช้การอนุมาน @objc ด้วย #selector () ใน Swift 4 ได้อย่างไร
ฉันกำลังพยายามแปลงซอร์สโค้ดของโปรเจ็กต์จาก Swift 3 เป็น Swift 4 คำเตือน Xcode หนึ่งคำเตือนที่ให้ฉันเป็นเรื่องเกี่ยวกับตัวเลือกของฉัน ตัวอย่างเช่นฉันเพิ่มเป้าหมายลงในปุ่มโดยใช้ตัวเลือกปกติดังนี้: button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside) นี่คือคำเตือนที่แสดง: อาร์กิวเมนต์ของ '#selector' หมายถึงวิธีอินสแตนซ์ 'myAction ()' ใน 'ViewController' ที่ขึ้นอยู่กับการอนุมานแอตทริบิวต์ '@objc' ที่เลิกใช้งานใน Swift 4 เพิ่ม '@objc' เพื่อแสดงวิธีการอินสแตนซ์นี้กับ Objective-C ตอนนี้การกดปุ่มFixข้อความแสดงข้อผิดพลาดทำกับฟังก์ชันของฉัน: // before func myAction() { /* ... */ } // after @objc func myAction() { /* ... …