@IBAction func endTurn(sender: UIButton) {

    let index: Int = Int (arc4random_uniform(UInt32(coins.count)))
        var i = Int(arc4random_uniform((3)))
        for i; i < 3; i++ {

            coins[i].hidden = true
            coins.removeAtIndex(i)
            println(i)
        }
    }

我有21枚硬币。这是一组按钮(@IBOutlet var coins:[UIButton]!)。当我按“endTurn”时,硬币就隐藏起来了。但当我有3个或更少的硬币时,我会得到致命的错误(行:coins[i].hidden=true)。
我需要做什么?
谢谢。。。

最佳答案

您试图访问超出界限的数组索引。因此,添加一个i在数组范围内的检查应该可以防止崩溃。

if(i < coins.length) {
   coins[i].hidden = true
   coins.removeAtIndex(i)
}

包含3个元素[0,1,2]的数组从索引0-2开始(数组的第一个索引为0)。

关于ios - Swift按钮隐藏致命错误:数组索引超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31727256/

10-10 02:15