如何解决快速获取数组中的多个文本字段值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]
不想那样做
解决方法
使用 @IBOutlet
集合。将您的所有 UITextField
与 @IBOutlet
集合绑定。
示例:
class ViewController: UIViewController {
@IBOutlet var textFields: [UITextField]!
override func viewDidLoad() {
super.viewDidLoad()
let arrTextValue = textFields.compactMap{Int($0.text ?? "0")}
print(arrTextValue)
}
}
,
您可以为 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)")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。