我有两个阵列: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-loop,但没有成功:
@IBAction func myButtons(sender: UIButton) {
for var index = 0; index < underArray.count; ++index {
swap(&underArray[index], & letterArray[index])
}
}
我怀疑这是一种错误的做法。什么是正确的方法?
最佳答案
您必须在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++
}
关于arrays - 替换2个数组的元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29552387/