循环中的 IBOutlets

IBOutlets in a loop

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

我想遍历我视图中的所有 IBOutlet,看看哪个满足示例中的条件:

    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 {

}