我有两个阵列:
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/

10-11 17:06