Saya telah menyatakan protokol Swift:
protocol Option {
var name: String { get }
}
Saya mendeklarasikan beberapa implementasi protokol ini — beberapa kelas, beberapa enum.
Saya memiliki pengontrol tampilan dengan properti yang dideklarasikan sebagai:
var options: [Option] = []
Ketika saya mencoba dan mengatur properti ini ke array objek yang mengimplementasikan Option
protokol di VC lain prepareForSegue
, saya mendapatkan error runtime:
fatal error: array cannot be bridged from Objective-C
Mengapa ini tidak berhasil? Kompiler memiliki semua informasi yang dibutuhkannya, dan saya sama sekali tidak mengerti apa hubungannya Objective-C dengannya — proyek saya hanya berisi file Swift, dan array ini tidak masuk atau keluar dari metode kerangka kerja yang akan mengharuskan mereka dijembatani NSArray
.
@objc
protokol Anda? stackoverflow.com/a/28029568/377369