使用许多UITextField迭代表单以获取CoreData的值?

时间:2015-08-31 23:43:18

标签: ios swift core-data uitextfield

我有一个包含大量UITextFields(超过150个字段)的表单。

我试图找出一种方法,不必为所有150多个字段创建出口,而是迭代UITextField元素以获取存储到CoreData中的值。

我想提取任何文本字段值并将它们存储到CoreData实体中。

1 个答案:

答案 0 :(得分:1)

按升序设置 UITextField 标记,例如以100,101开头... 您可以在IB检查器中设置标签值,如下所示

enter image description here

通过迭代来检索值: -

考虑uitextfield1 tag = 100和uitextfield2 tag = 101

  for(var i = 100;i<102;i++)
    {
        let myField = self.view.viewWithTag(i) as! UITextField
        print(myField.text); //save the value into your coredata
    }

获取文本字段值的另一种方法: -

for txtField in self.view.subviews
  {
    if(txtField.isKindOfClass(UITextField.classForCoder()))
    {
        switch(txtField.tag)
        {
        case 100:
            let myField = txtField as! UITextField
            print(myField.text);//save the value into your coredata
            break;
        case 101:
            let myField = txtField as! UITextField
            print(myField.text);//save the value into your coredata
            break;
        default:
            break;
        }
    }