Swift 中同一行中的多个 IBOutlets

Dha*_*ura 0 xcode iboutlet ios swift

在目标 c 中,您可以以下面提到的方式声明 IBOutlets:

IBOutlet UIButton *btn1, *btn2, *btn3;
Run Code Online (Sandbox Code Playgroud)

您可以在故事板中绑定这些按钮。

现在我想在 Swift 中使用相同的术语。我想在同一行中声明这 3 个按钮,而不是在 3 个不同的行中声明它们。我也可以使用以下方法在 Swift 中声明这些按钮:

@IBOutlet var btn1, btn2, btn3: UIButton!
Run Code Online (Sandbox Code Playgroud)

但我的问题是我只能在故事板中绑定“btn1”。“btn2”和“btn3”未显示在连接检查器中。

我不想使用 UIOutletCollection 类。

ran*_*dom 5

您有两个选项可以将它们放在一行中。

第一种是通过定义以下内容来使用引用插座集合

@IBOutlet var fields: Array<UITextField> = []
Run Code Online (Sandbox Code Playgroud)

然后将您的文本字段链接到该字段。然后,您可以访问它们的fields[0]fields[1]分别。

在此处输入图片说明

另一种选择是在您的文件中定义它们,如下所示:

@IBOutlet weak var emailField: UITextField!
@IBOutlet weak var passwordField: UITextField!
Run Code Online (Sandbox Code Playgroud)

从 Interface Builder 建立连接,然后将声明编辑为一行,如下所示:

@IBOutlet weak var emailField: UITextField!, passwordField: UITextField!
Run Code Online (Sandbox Code Playgroud)

关于你,恐怕只有选择。