J'ai déclaré un protocole Swift:
protocol Option {
var name: String { get }
}
Je déclare plusieurs implémentations de ce protocole - certaines classes, certaines énumérations.
J'ai un contrôleur de vue avec une propriété déclarée comme suit:
var options: [Option] = []
Lorsque j'essaie de définir cette propriété sur un tableau d'objets qui implémentent le Option
protocole dans un autre VC prepareForSegue
, j'obtiens une erreur d'exécution:
fatal error: array cannot be bridged from Objective-C
Pourquoi ça ne marche pas? Le compilateur a toutes les informations dont il a besoin, et je ne comprends pas du tout ce que Objective-C a à voir avec lui - mon projet ne contient que des fichiers Swift, et ces tableaux ne viennent ni ne sortent d'aucune méthode de framework qui nécessiter leur pontage NSArray
.
@objc
votre protocole? stackoverflow.com/a/28029568/377369