Я объявил протокол 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
.