如何使用Swift循环UIViewController的Outlets

two*_*ish 5 uiviewcontroller iboutlet swift

我想知道,如果可以通过UIViewControllerswift 循环遍历所有出口.

具体来说,我想检查用户是否填写了每个文本字段.

zis*_*oft 15

这就是Outlet Collections的用途.将所有文本字段拖放到InterfaceBuilder中的同一个Outlet集合中,并@IBOutlet在类文件中创建一个到该集合:

要在InterfaceBuilder中创建插座集合,UITextField请在助理编辑器中从第一个文件拖放到类文件.然后选择Outlet Collection:

在此输入图像描述

按住Ctrl键拖动下一个UITextField ,将@IBOutlet其添加到集合中:

在此输入图像描述

对所有textField重复此操作.

@IBOutlet var textFields: [UITextField]!

func checkTextFields() {
    for textField in self.textFields {
        ... // do your checks
    }
}
Run Code Online (Sandbox Code Playgroud)