我一直在使用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。
答案 0 :(得分:4)
EXC_BAD_INSTRUCTION表示代码中存在失败的断言。出于安全原因,这可能是swift标准库中的断言。
当程序从运行时错误停止时,您应该能够查看调用堆栈,以调查问题的位置以及导致问题的原因。