替换2个数组的元素?

时间:2015-04-10 02:34:34

标签: arrays swift

我有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])
    }
 }

我怀疑这是一种错误的做法。什么是正确的方法?

2 个答案:

答案 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++
}