我有这样的代码,我想基本上是:更改按钮图像进行了一定的时间,然后重新设置,然后换另一个按钮等等反正有没有把它变成for循环或改进它?
buttonList[total[0]].setImage(imagePlay, forState: .Normal);
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), Int64(speed * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.buttonList[total[0]].setImage(self.og, forState: .Normal);
self.buttonList[total[1]].setImage(self.imagePlay, forState: .Normal);
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), Int64(speed * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.buttonList[total[1]].setImage(self.og, forState: .Normal);
self.buttonList[total[2]].setImage(self.imagePlay, forState: .Normal);
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), Int64(speed * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.buttonList[total[2]].setImage(self.og, forState: .Normal);
self.buttonList[total[3]].setImage(self.imagePlay, forState: .Normal);
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), Int64(speed * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.buttonList[total[3]].setImage(self.og, forState: .Normal);
self.buttonList[total[4]].setImage(self.imagePlay, forState: .Normal);
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), Int64(speed * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.buttonList[total[4]].setImage(self.og, forState: .Normal);
self.buttonList[total[5]].setImage(self.imagePlay, forState: .Normal);
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), Int64(speed * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.buttonList[total[5]].setImage(self.og, forState: .Normal);
self.buttonList[total[6]].setImage(self.imagePlay, forState: .Normal);
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), Int64(speed * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.buttonList[total[6]].setImage(self.og, forState: .Normal);
self.buttonList[total[7]].setImage(self.imagePlay, forState: .Normal);
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), Int64(speed * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.buttonList[total[7]].setImage(self.og, forState: .Normal);
self.buttonList[total[8]].setImage(self.imagePlay, forState: .Normal);
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), Int64(speed * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue()) {
self.buttonList[total[8]].setImage(self.og, forState: .Normal);
self.replayButton.enabled = true;
for(var i = 0; i < self.buttonList.count; i++){
self.buttonList[i].enabled = true;
正如你可以看到这是一个长期的过程最终我会有30 +的大小的数组,有人可以建议一个更好的方式吗?谢谢。