我已经声明了一个Swift协议:
protocol Option {
var name: String { get }
}
我声明了这个协议的多个实现——一些是类,一些是枚举。
我有一个视图控制器,其属性声明如下:
var options: [Option] = []
当我尝试在另一个视图控制器的 prepareForSegue
中将该属性设置为实现了 Option
协议的对象数组时,我会收到运行时错误:
fatal error: array cannot be bridged from Objective-C
为什么这个不起作用?编译器已经有了所有需要的信息,我不理解这与Objective-C有什么关系——我的项目只包含Swift文件,并且这些数组没有进出任何必须被桥接到NSArray
的框架方法中。
@objc
吗?https://dev59.com/gWAf5IYBdhLWcg3w9Wiu#28029568 - Fabio Poloni