【问题标题】:Get values from a textfield array从文本字段数组中获取值
【发布时间】:2018-06-01 12:27:26
【问题描述】:

我想访问我的文本字段数组的值,但由于我创建的数组带有标签而感到困惑。 那么有人知道如何获取我创建的列表(数组)的值吗?

我想创建一个函数: 获取列表中文本字段的值 按标签对它们进行排序 获取每个单独文本字段的值 将它们连接成一个字符串

【问题讨论】:

  • 显示您已经尝试过的内容。
  • 你期望的 OP,添加一些示例输入

标签: arrays swift textfield


【解决方案1】:

1.你的收藏品Outlet会是这样的

    @IBOutlet var textFields: [UITextFields]!

2。按标签排序

    textFields.sort { $0.tag < $1.tag}

3。使用 for 循环从数组中获取值并连接它

    var string = ""

    for item in textFields {
      string += item.text
    }

【讨论】:

    【解决方案2】:

    假设您有以下数组,

        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
    

    【讨论】:

      【解决方案3】:

      创建一个出口连接并将所有文本字段连接到相同的。

      插座连接看起来像

      @IBOutlet strong var labels: [UILabel]!
      

      然后获取所有文本字段内容并附加相同的内容。

      var resultString = ""
      for item in enumerate(self.labels) {
         resultString = resultString + item.text
      }
      

      【讨论】:

        【解决方案4】:

        假设你有 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

        【讨论】:

          猜你喜欢
          • 2023-03-23
          • 2012-12-19
          • 2017-04-06
          • 2023-03-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多