weakดูเหมือนว่าการอ้างอิงจะไม่ทำงานใน Swift ยกเว้นว่ามีการprotocolประกาศเป็น@objcซึ่งฉันไม่ต้องการในแอพ Swift ที่บริสุทธิ์
รหัสนี้ให้ข้อผิดพลาดในการคอมไพล์ ( weakไม่สามารถใช้กับประเภทที่ไม่ใช่คลาสMyClassDelegate):
class MyClass {
weak var delegate: MyClassDelegate?
}
protocol MyClassDelegate {
}
ฉันต้องนำหน้าโปรโตคอลด้วย@objcแล้วก็ใช้งานได้
คำถาม: อะไรคือวิธีที่รวดเร็ว 'บริสุทธิ์' ในการบรรลุเป้าหมายweak delegate?