“严重错误:无法从Objective-C桥接数组” —为什么还要尝试Swift,Swift?

罗伯特·阿特金斯(Robert Atkins):

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

罗伯特·阿特金斯(Robert Atkins):

我找到了解决方案。相当…… 不令人满意,但是有效。我在目标视图控制器上设置数组的位置:

destinationViewController.options = options.map({$0 as Option})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法从Objective-C-> Swift中的问题桥接字典

无法从Objective-C错误桥接数组

NSUserDefault自定义对象错误-“无法从Objective-C桥接数组”

尝试从类对象数组中读取值时出现“严重错误:NSArray元素未能与Swift Array元素类型匹配”

严重错误-> c0000374

严重错误C1083:无法打开包含文件:'tree.h'

带有隐式桥接多维数组的Swift 3中可能存在错误?

为什么在Swift项目中需要Objective-C桥接头?

APAddressBOOK错误:“严重错误:数组索引超出范围”

Objective-C-桥接C ++的缺点?

尝试在带有桥接头的Swift项目中尝试使用Objective-C库

框架的Objective-C桥接标题

使用cython时发生错误“严重错误C1083;无法打开包含文件:'io.h':没有此类文件或目录”

WatchKit扩展桥接标题错误(在Swift项目中)

数组元素无法桥接到Objective-C

pip install mysqlclient返回“严重错误C1083:无法打开文件:'mysql.h':没有这样的文件或目录

严重错误C1083:无法打开包含文件:'complex.h':没有此类文件或目录.. \ lapacke \ include \ lapacke.h

严重错误C1083:无法打开包含文件:'Carbon / Carbon.h':没有此类文件或目录

严重错误C1083:无法打开包含文件:'GL / glew.h':没有此类文件或目录

我该如何解决?严重错误C1083:无法打开包含文件:iostream.h:没有此类文件或目录

Swift:标签文本->“严重错误:在展开可选值时意外发现nil”

UIImagePickerController和致命错误:数组元素无法桥接到Objective-C

在桥接目标 C 文件中使用 Swift 类

为什么 Swift 无法识别 JS 发送的数组?

为什么 Xcode 无法识别 swift 数组中的 indexOfObjectIdenticalTo?

为什么在Objective-C类中具有类型-(id)的initTESTING()无法在Swift中调用?

为什么我的库无法在CocoaPods上扩展并显示为Objective-c,而不是Swift?

OneDrive for Business-尝试同步文件时发生严重错误

即使文件在桥中,为什么我也无法访问objective-c 方法?