在 swift (Xcode) 数组中获取多个文本字段值
Get multiple Textfield values in array in swift (Xcode)
我的故事板中有 10 个文本字段,我想获取它们的值并使用循环将其存储到数组中,这样我就不想使用 swift 4 ( Xcode)
. var arr = [Int]() let val1 = Int(TxtVal1.text ?? "0") ?? 0 let val2 = Int(TxtVal2.text ?? "0") ?? 0 let val3 = Int(TxtVal3.text ?? "0") ?? 0 let val4 = Int(TxtVal4.text ?? "0") ?? 0 let val5 = Int(TxtVal5.text ?? "0") ?? 0 arr = [val1,val2,val3,val4,val5]
不想那样做
您可以将标签分配给 UITextField,然后将该文本字段的值存储到数组。
将标签设置为文本字段
txtField1.tag = 101
txtField1.tag = 102
//and so on
创建并初始化数组以存储文本字段的文本
var arrText = [String]()
//textfield tag are set from 101 to 110
for tag in 101...110 {
if let txtField = view.viewWithTag(tag) as? UITextField, let txt = txtField.text {
arrText.append(txt)
}
}
print("array = \(arrText)")
使用@IBOutlet
collection。将所有 UITextField
与 @IBOutlet
collection.
绑定
示例:
class ViewController: UIViewController {
@IBOutlet var textFields: [UITextField]!
override func viewDidLoad() {
super.viewDidLoad()
let arrTextValue = textFields.compactMap{Int([=10=].text ?? "0")}
print(arrTextValue)
}
}
我的故事板中有 10 个文本字段,我想获取它们的值并使用循环将其存储到数组中,这样我就不想使用 swift 4 ( Xcode)
. var arr = [Int]() let val1 = Int(TxtVal1.text ?? "0") ?? 0 let val2 = Int(TxtVal2.text ?? "0") ?? 0 let val3 = Int(TxtVal3.text ?? "0") ?? 0 let val4 = Int(TxtVal4.text ?? "0") ?? 0 let val5 = Int(TxtVal5.text ?? "0") ?? 0 arr = [val1,val2,val3,val4,val5]
不想那样做
您可以将标签分配给 UITextField,然后将该文本字段的值存储到数组。
将标签设置为文本字段
txtField1.tag = 101
txtField1.tag = 102
//and so on
创建并初始化数组以存储文本字段的文本
var arrText = [String]()
//textfield tag are set from 101 to 110
for tag in 101...110 {
if let txtField = view.viewWithTag(tag) as? UITextField, let txt = txtField.text {
arrText.append(txt)
}
}
print("array = \(arrText)")
使用@IBOutlet
collection。将所有 UITextField
与 @IBOutlet
collection.
示例:
class ViewController: UIViewController {
@IBOutlet var textFields: [UITextField]!
override func viewDidLoad() {
super.viewDidLoad()
let arrTextValue = textFields.compactMap{Int([=10=].text ?? "0")}
print(arrTextValue)
}
}