ฉันได้ประกาศโปรโตคอล Swift:
protocol Option {
var name: String { get }
}
ฉันประกาศการใช้โปรโตคอลนี้หลายครั้ง - บางคลาสบางอัน
ฉันมีตัวควบคุมมุมมองพร้อมคุณสมบัติที่ประกาศดังนี้:
var options: [Option] = []
เมื่อฉันพยายามตั้งค่าคุณสมบัตินี้เป็นอาร์เรย์ของวัตถุที่ใช้Option
โปรโตคอลใน VC อื่นprepareForSegue
ฉันได้รับข้อผิดพลาดรันไทม์:
fatal error: array cannot be bridged from Objective-C
ทำไมถึงไม่ทำงาน คอมไพเลอร์มีข้อมูลทั้งหมดที่ต้องการและฉันไม่เข้าใจว่า Objective-C เกี่ยวข้องกับอะไรเลย - โปรเจ็กต์ของฉันมีเฉพาะไฟล์ Swift เท่านั้นและอาร์เรย์เหล่านี้ไม่ได้เข้ามาหรือออกจากเมธอดกรอบใด ๆ ที่จะ NSArray
เลี่ยงพวกเขาจะถูกเชื่อมไป
@objc
นำหน้าโปรโตคอลของคุณหรือไม่? stackoverflow.com/a/28029568/377369