Ho dichiarato un protocollo Swift:
protocol Option {
var name: String { get }
}
Dichiaro più implementazioni di questo protocollo: alcune classi, alcune enumerazioni.
Ho un controller di visualizzazione con una proprietà dichiarata in questo modo:
var options: [Option] = []
Quando provo a impostare questa proprietà su un array di oggetti che implementano il Option
protocollo in un altro VC prepareForSegue
, ottengo un errore di runtime:
fatal error: array cannot be bridged from Objective-C
Perché non funziona? Il compilatore ha tutte le informazioni di cui ha bisogno e non capisco affatto cosa abbia a che fare Objective-C con esso: il mio progetto contiene solo file Swift e questi array non entrano o escono da nessun metodo di framework che potrebbe richiedono che siano collegati a NSArray
.
@objc
al tuo protocollo? stackoverflow.com/a/28029568/377369