Tôi đã khai báo một giao thức Swift:
protocol Option {
var name: String { get }
}
Tôi khai báo nhiều triển khai của giao thức này — một số lớp, một số enum.
Tôi có bộ điều khiển chế độ xem với thuộc tính được khai báo như vậy:
var options: [Option] = []
Khi tôi thử và đặt thuộc tính này thành một mảng đối tượng triển khai Option
giao thức trong VC khác prepareForSegue
, tôi gặp lỗi thời gian chạy:
fatal error: array cannot be bridged from Objective-C
Tại sao điều này không hoạt động? Trình biên dịch có tất cả thông tin nó cần và tôi không hiểu Objective-C phải làm gì với nó — dự án của tôi chỉ chứa các tệp Swift và các mảng này không đến hoặc ra khỏi bất kỳ phương thức khung nào. yêu cầu họ phải được bắc cầu NSArray
.
@objc
giao thức của mình chưa? stackoverflow.com/a/28029568/377369