微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

快速获取数组中的多个文本字段值Xcode

如何解决快速获取数组中的多个文本字段值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)
    }
}

enter image description here

,

您可以为 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 举报,一经查实,本站将立刻删除。