0

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 未満なので、画像はありません。

4

1 に答える 1

0

RESOLUTION:

I commented out sections until my program completed successfully. After narrowing down the error (happening many, many lines later) I seem to have been doing a bad modulo (%) operation.

Hope this helps.

于 2015-03-12T23:39:51.813 に答える