我有2个数组:
var underArray = ["_", "_", "_", "_", "_"]
和var letterArray = ["A", "B", "C", "D"]
。我也有一个按钮,每次按下按钮我都要将underArray
的元素替换为letterArray
中的一个元素。
例如:
var underArray = [A, _, _, _, _]
var underArray = [A, B, _, _, _]
var underArray = [A, B, C, _, _]
等...... 我可以手动执行:underArray[0] = letterArray[0]
,underArray[1] = letterArray[1]
,但这不是一个选项。
到目前为止,我尝试创建一个for循环,但它不起作用:
@IBAction func myButtons(sender: UIButton) {
for var index = 0; index < underArray.count; ++index {
swap(&underArray[index], & letterArray[index])
}
}
我怀疑这是一种错误的做法。什么是正确的方法?
答案 0 :(得分:0)
将整数变量保持为计数器(初始化为0),每按一次按钮,执行以下操作: 1. swap(&amp; underArray [counter],&amp; letterArray [counter]) 2.增加计数器
答案 1 :(得分:0)
您必须从IBAction声明变量,并确保在按下按钮的次数过多时不做任何事情:
var pressCounter = 0
var underArray = ["_", "_", "_", "_", "_"]
var letterArray = ["A", "B", "C", "D", "E"]
@IBAction func myButtons(sender: UIButton) {
if pressCounter<underArray.count {
swap(&underArray[pressCounter], &letterArray[pressCounter])
}
// lets increment +1 (the button has been pressed)
pressCounter++
}