我有一个包含大量UITextFields(超过150个字段)的表单。
我试图找出一种方法,不必为所有150多个字段创建出口,而是迭代UITextField元素以获取存储到CoreData中的值。
我想提取任何文本字段值并将它们存储到CoreData实体中。
答案 0 :(得分:1)
按升序设置 UITextField 标记,例如以100,101开头... 您可以在IB检查器中设置标签值,如下所示
通过迭代来检索值: -
考虑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;
}
}