Deklarowałem protokół Swift:
protocol Option {
var name: String { get }
}
Deklaruję wiele implementacji tego protokołu - niektóre klasy, niektóre wyliczenia.
Mam kontroler widoku z właściwością zadeklarowaną jako tak:
var options: [Option] = []
Kiedy próbuję ustawić tę właściwość na tablicę obiektów, które implementują Option
protokół w innym VC prepareForSegue
, pojawia się błąd wykonania:
fatal error: array cannot be bridged from Objective-C
Dlaczego to nie działa? Kompilator ma wszystkie potrzebne informacje i w ogóle nie rozumiem, co ma z tym wspólnego Objective-C - mój projekt zawiera tylko pliki Swift, a te tablice nie wchodzą ani nie wychodzą z żadnych metod ramowych, które by to powodowały wymagają mostkowania do nich NSArray
.
@objc
do swojego protokołu? stackoverflow.com/a/28029568/377369