Swift-每次按下保存按钮时如何添加到arraylist下一个索引

时间:2018-03-19 12:52:04

标签: arrays swift arraylist uitextfield

我的问题是我每次按保存时如何存储一个字符串值,该值将所有文本字段输入都包含在一个带有新索引的数组中。我在下面创建了一些代码但是我认为它覆盖了第一个索引。

@IBAction func Save (_ sender: UIButton){
let firstextfield = textfield1.text
let secondtextfield = textfield2.text

let allText = firsttextfield! + "," + secondtextfield!
var myArray = [String]()
var index : Int = 0

while (myArray.count) <= index {
   myArray.insert(allText, at: index)

}
index +=


for element in myArray{
 print(element)
 }


}

输入:firsttextfield = 9.22,secondtextfield = 91.2 然后按下保存按钮。

输出:

Optional ("9.22,91.2")
Optional ("")

如果我要将我的文本字段的值更改为firsttextfield = 0.2和secondtextfield = 20.2

我得到输出:

Optional ("0.2,20.2")
Optional ("")

我不希望它覆盖数组,但要添加到预期的输出:

Optional ("9.22,91.2")
Optional ("0.2,20.2")

欢迎任何提示,因为我不熟悉编码。

2 个答案:

答案 0 :(得分:1)

我认为你在这里清空数组:

var myArray = [String?]()
var index = 0

while (myArray.count) <= index {
myArray.append("")

}

在函数外部声明并初始化它,然后使用它将值插入到数组中:

let allText = firsttextfield! + "," + secondtextfield!

anArray.append(allText)

答案 1 :(得分:1)

//只需在按钮操作之外声明

var index = 0
var myArray = [String?]()

//按钮操作

@IBAction func btnShareTapped(_ sender: UIButton) {


    let firstextfield = "textfield1.text"
    let secondtextfield = "textfield2.text"

    let allText = firstextfield + "," + secondtextfield

    while (myArray.count) <= index {
        myArray.append("")
    }

    myArray.insert(allText, at: index)
    index = index + 1

    for element in myArray{
        print(element)
    }
    print(myArray)
}

<强>输出

[Optional("textfield1.text,textfield2.text"), Optional("")]
[Optional("textfield1.text,textfield2.text"), Optional("textfield1.text,textfield2.text"), Optional("")]

//您的上一个评论答案是

let a : String = myArray[0]!
let b = a.split(separator: ",")
label.text = b[0] as! String
label1.text = b[1] as! String