我正在尝试为iOS应用程序的Swift中的表单创建一个验证系统。我创建了一个扩展,以便在IsRequired对象中插入UITextField属性。

我想在我的视图中迭代所有IBOutlets,然后看看哪个满足条件,如示例所示:

    txtEmail.isRequired = true;
    txtPassword.isRequired = true;
    txtName.isRequired = true;
    txtSurname.isRequired = true;


    for Item in self.view.subviews {
        if let textField = Item as? UITextField {
            if textField.isRequired! {
                if(textField.text == "")
                {
                    textField.layer.borderColor = UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 ).cgColor;
                }
            }
        }
    }

但它不起作用。我在堆栈视图中有自己的UITextfields

谢谢

最佳答案

尝试使用Outlet Collection而不是Outlet。这样,您将拥有CustomTextField的数组

例:

@IBOutlet var textFields: [CustomTextField]!

for field in self.textFields {

}

08-03 21:41