为什么这个等式导致exc_bad_instruction?

时间:2015-03-10 21:21:07

标签: xcode swift exc-bad-instruction

我的Swift代码中出现运行时错误:

EXC_BAD_INSTRUCTION (code=EXC_i386_INVOP, subcode=0x0)

在线:

y = height - (((val - minYval) / (maxYval - minYval)) * height)

在上下文中:

    let height:CGFloat = self.frame.height - yOffset
    let width = self.frame.width - xOffset - 50

    let num = CGFloat(keys.count)

    for var i = 0; i < keys.count; ++i {

        var y:CGFloat = (height/CGFloat(2.0))

        var val = CGFloat(values[i])

        println("height=\(height), val=\(val), minYval=\(minYval), maxYval=\(maxYval), y=\(y)")

        if CGFloat(maxYval - minYval) != CGFloat(0) {
            println("debug 1")
            y = height - (((val - minYval) / (maxYval - minYval)) * height)
        } else {
            println("x=\(x), y=\(y)")
        }

    }

输出:

height=193.5, val=355.0, minYval=355.0, maxYval=355.0, y=96.75

x=45.0, y=96.75

更新:为minYval&amp;添加值maxYval。

更新:我有&lt; 10声望,所以没有图像。

1 个答案:

答案 0 :(得分:0)

解决

我注释了各个部分,直到我的程序成功完成。在缩小错误(稍后发生许多行)之后,我似乎做了一个不好的模(%)操作。

希望这有帮助。