EXC_BAD_INSTRUCTION出现在我的Swift代码上,它没有任何语法问题

时间:2014-06-12 03:42:10

标签: ios swift

我一直在使用Swift代码来熟悉它,但是当我在main.swift文件(不是游乐场)中运行代码段时,错误Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)显示在屏幕。

错误指向以下行:

// loop
let scores:Int[] = [52, 53, 12, 53]
for score in scores {
    println("The score is \(score)")
} // <- the error points to this line

但是,我不知道为什么上面的代码会受到错误的影响。上面的代码段有什么问题吗?

即使我将上面的代码重写为以下代码(将显式类型添加到循环中的变量):

// loop
let scores:Int[] = [52, 53, 12, 53]
for score:Int in scores {
    println("The score is \(score)")
}

,错误仍然存​​在。

那我怎么能在这里解决这个问题呢?我在OS X Yosemite开发预览版上使用Xcode 6 beta。

1 个答案:

答案 0 :(得分:4)

EXC_BAD_INSTRUCTION表示代码中存在失败的断言。出于安全原因,这可能是swift标准库中的断言。

当程序从运行时错误停止时,您应该能够查看调用堆栈,以调查问题的位置以及导致问题的原因。