exc_bad_instruction(code = exc_i386_invop,subcode = 0x0)

时间:2015-05-16 13:01:16

标签: swift

代码:

    func getRandomValues(amountOfValues:Int, totalAmount:Int) -> [Int]?{
    if amountOfValues < 1{
        var amountOfValues = 4
    }

    if totalAmount < 1{
        return nil
    }
    var values:[Int] = []
    var valueLeft = totalAmount

    for i in 0..<amountOfValues{

        if i == amountOfValues - 1{
            values.append(valueLeft)
            break
        }
        var value = Int(arc4random_uniform(UInt32(valueLeft - (amountOfValues - i))) + 1)
        valueLeft -= value
        if(value != 0){
            values.append(value)
        }
    }

    BtnValues = values

    return values
}

amountofvalues是一个包含int的变量,totalamount也是一个int。此函数根据要达到总量的值的数量生成随机值。

所以,如果你有amountofvalues = 5和totalamount = 10,那么函数会返回如下内容:2,3,1,2,2这就像魅力一样。

但有时我会收到此错误:exc_bad_instruction(code = exc_i386_invop,subcode = 0x0)

我不知道如何解决这个错误来自此箭头所在的行:

--------->var value = Int(arc4random_uniform(UInt32(valueLeft - (amountOfValues - i))))

0 个答案:

没有答案