我的问题是我每次按保存时如何存储一个字符串值,该值将所有文本字段输入都包含在一个带有新索引的数组中。我在下面创建了一些代码但是我认为它覆盖了第一个索引。
@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")
欢迎任何提示,因为我不熟悉编码。
答案 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