微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用多维数组时,Swift上的多维数组 – EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

当我尝试创建一个包含枚举数组的数组时,我收到此错误.

为了更好地说明这里的代码

let block1:Form[] = [Form.Circle,Form.Rectangle,Form.Triangle]
let block2:Form[] = [Form.Rectangle,Form.Circle,Form.Triangle]
let block3:Form[] = [Form.Rectangle,Form.Triangle,Form.Circle]
let block4:Form[] = [Form.Circle,Form.Rectangle]
let block5:Form[] = [Form.Triangle,Form.Rectangle]
let block6:Form[] = [Form.Triangle,Form.Circle]
var allBlocks:(Form[][])!

这些是包含枚举的数组,最后一个将保存这些数组.

override func didMovetoView(view: SKView) {

          allBlocks = [block1,block2,block3,block4,block5,block6] //Error here
...
}

当我尝试将值分配给allBlocks时发生错误

如果我将代码更改为此,则不会出现错误

let block1:Form[] = [Form.Circle,Form.Circle]

override func didMovetoView(view: SKView) {

         var allBlocks = [block1,block6] //No error
...
}

但后来我无法在另一个地方访问allBlocks变量.

编辑:如果有帮助

解决方法

这听起来像一个Swift编译器错误;崩溃是由于尝试执行非法的x86指令,因此编译器生成了无效代码或者生成一个非完全代码或者不是指令开头的分支.

据推测,您正在对Xcode进行beta测试,因此,如果您还没有可以在Radar ^ WApple Bug Reporter上提交错误的Apple Developer Connection帐户,请打开一个帐户,然后提交错误. (作为Xcode下载的一部分,Apple可能已经提供了相关详细信息.)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐