更新按钮图像迅速
问题描述:
我有一些代码,但一个更新按钮的图片,当我试图运行的代码我一直得到一个错误:更新按钮图像迅速
“致命错误:数组索引超出范围”
这个代码我试图运行低于:
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 }
}
}
有什么我可以做,以解决这个问题?
在此先感谢。
答
此错误:致命错误:数组索引超出范围包含并回答。
您尝试使用不在此数组范围内的项目。
例子:
var items = [1, 2]
items[2] // error only items are available at indexes 0 and 1
所以在你的代码检查buttonList阵列。
谢谢你的回答,我已经更新了上面的代码并用双星号包围了行,这会导致xcode中的错误,但我完全理解你提供的答案,我仍然不确定它是否与** buttonList **数组或**按钮** – Prash
按钮为空或零 –