How to loop through view outlets in a UIViewController with Swift?
This is what Outlet Collections are for. Drag all your textfields in the same Outlet Collection in InterfaceBuilder and create an @IBOutlet
to that collection in your class file:
To create the outlet collection in InterfaceBuilder, ctrl-drag from the first UITextField
to your class file in the assistant editor. Then choose Outlet Collection:
ctrl-drag the next UITextField
on that @IBOutlet
to add it to the collection:
Repeat that for all your textFields.
@IBOutlet var textFields: [UITextField]!
func checkTextFields() {
for textField in self.textFields {
... // do your checks
}
}
I think you have to manually do it, or add them to array and loop through that array or you can loop through all subviews of your view and check if it's textfield.
for view in self.view.subviews as [UIView] {
if let textField = view as? UITextField {
if textField.text == "" {
// textfield is empty
return
}
}
}