为什么这个等式导致exc_bad_instruction?

Why does this equation cause 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 和 maxYval 的值。

更新:我的声誉 < 10,所以没有图片。

解决方案

我注释掉了部分,直到我的程序成功完成。在缩小错误范围后(后来发生了很多很多行)我似乎一直在做一个错误的模(%)操作。

希望对您有所帮助。