最佳答案
我已经宣布了斯威夫特协议:
protocol Option {
var name: String { get }
}
我声明了这个协议的多个实现ーー一些类,一些枚举。
我有一个视图控制器,其属性声明如下:
var options: [Option] = []
当我尝试将这个属性设置为在另一个 VC 的 prepareForSegue
中实现 Option
协议的对象数组时,我得到一个运行时错误:
fatal error: array cannot be bridged from Objective-C
为什么这个不管用?编译器拥有它所需要的所有信息,而我完全不知道 Objective-C 和它有什么关系ーー我的项目只包含 Swift 文件,而且这些数组不会进出任何框架方法,因为这些方法需要将它们连接到 NSArray
。