我已经声明了一个 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
.