2016-02-26 80 views
1

我有一些代碼,但一個更新按鈕的圖片,當我試圖運行的代碼我一直得到一個錯誤:更新按鈕圖像迅速

「致命錯誤:數組索引超出範圍」

這個代碼我試圖運行低於:

func updateButtonImages() { 
    let buttons = total.map { buttonList[$0] } 
    **buttons[0].setImage(UIImage(named: "p2"), forState: .Normal)** 



    var time = dispatch_time(DISPATCH_TIME_NOW, 0) 
    for (priorButton, currentButton) in zip(buttons[0..<buttons.count - 1], buttons[1..<buttons.count]) { 
     time = dispatch_time(time, Int64(speed * Double(NSEC_PER_SEC))) 
     dispatch_after(time, dispatch_get_main_queue()) { 
      priorButton.setImage(UIImage(named: "p2"), forState: .Normal) 
      currentButton.setImage(UIImage(named: "p1"), forState: .Normal) 
     } 
    } 

    time = dispatch_time(time, Int64(speed * Double(NSEC_PER_SEC))) 
    dispatch_after(time, dispatch_get_main_queue()) { 
     buttons.last?.setImage(UIImage(named: "p1"), forState: .Normal) 
     //replayButton.enabled = true 
     self.buttonList.forEach { $0.enabled = true } 
    } 
} 

有什麼我可以做,以解決這個問題?

在此先感謝。

回答

1

此錯誤:致命錯誤:數組索引超出範圍包含並回答。

您嘗試使用不在此數組範圍內的項目。

例子:

var items = [1, 2] 

items[2] // error only items are available at indexes 0 and 1 

所以在你的代碼檢查buttonList陣列。

+0

謝謝你的回答,我已經更新了上面的代碼並用雙星號包圍了行,這會導致xcode中的錯誤,但我完全理解你提供的答案,我仍然不確定它是否與** buttonList **數組或**按鈕** – Prash

+0

按鈕爲空或零 –