【发布时间】:2018-06-01 12:27:26
【问题描述】:
我想访问我的文本字段数组的值,但由于我创建的数组带有标签而感到困惑。 那么有人知道如何获取我创建的列表(数组)的值吗?
我想创建一个函数: 获取列表中文本字段的值 按标签对它们进行排序 获取每个单独文本字段的值 将它们连接成一个字符串
【问题讨论】:
-
显示您已经尝试过的内容。
-
你期望的 OP,添加一些示例输入
我想访问我的文本字段数组的值,但由于我创建的数组带有标签而感到困惑。 那么有人知道如何获取我创建的列表(数组)的值吗?
我想创建一个函数: 获取列表中文本字段的值 按标签对它们进行排序 获取每个单独文本字段的值 将它们连接成一个字符串
【问题讨论】:
@IBOutlet var textFields: [UITextFields]!
textFields.sort { $0.tag < $1.tag}
var string = ""
for item in textFields {
string += item.text
}
【讨论】:
假设您有以下数组,
var txtArray:[UITextField] = [UITextField]()
for i in 0...4 {
let txtField = UITextField(frame: .zero)
txtField.text = "\(i)"
txtField.tag = i
txtArray.append(txtField)
}
要获取值,您必须执行以下操作,
let sorted = txtArray.sorted { $0.tag < $1.tag }
let values = sorted.map { return $0.text! }
let test = values.joined(separator: " ")
print(test)
输出将是
0 1 2 3 4
【讨论】:
创建一个出口连接并将所有文本字段连接到相同的。
插座连接看起来像
@IBOutlet strong var labels: [UILabel]!
然后获取所有文本字段内容并附加相同的内容。
var resultString = ""
for item in enumerate(self.labels) {
resultString = resultString + item.text
}
【讨论】:
假设你有 UITextField 数组
let textfield1 = UITextField()
textfield1.tag = 1
textfield1.text = "1"
let textfield2 = UITextField()
textfield2.tag = 2
textfield2.text = "2"
let textfield3 = UITextField()
textfield3.tag = 3
textfield3.text = "3"
let arrayOfTextFields :[UITextField] = [textfield2,textfield1,textfield3]
let result = self.getInputsValue(arrayOfTextFields, seperatedby: "-")
print(result)
你想要的方法:
func getInputsValue(_ inputs:[UITextField], seperatedby value: String) -> String {
return inputs.sorted {$0.tag < $1.tag}.map {$0.text}.compactMap({$0}).joined(separator: value)
}
结果: 1-2-3
【讨论】: