ios - 一次将所有 UI 元素快速连接到一个 socket

标签 ios xcode

<分区>

使用 Swift 2 和 XCode 7.2.1,有没有办法将所有 UI 元素(按钮和标签)连接到一个 socket ?我觉得这可以通过对所有元素执行 CMD-A 然后按住控制键拖动到您的代码来完成,但这只会将所选元素之一连接到 socket 。

最佳答案

你不能这样做。

唯一可以连接多个 UI 元素的是操作或 socket 集合。

重要的是,导出是对单个对象的单一引用:

@IBOutlet weak var label: UILabel!

就像任何其他变量一样,它不能同时是两个或更多的东西。它只能是一件事。如果我将另一个东西连接到这个 socket ,它会解开之前连接到它的任何东西。


但是,我可以制作一个 outlet 系列:

enter image description here

@IBOutlet strong var labels: [UILabel]!

我认为一次连接多个元素没有捷径,但您可以连接多个元素(尽管一次连接一个)。


重要的是要注意,默认情况下,Xcode 会将导出集合创建为您拖入的任何类型的确切类型,并且您只能将该类型的元素或该类型的子类添加到集合中。

但是,您可以手动将类型更改为更广泛的类型,从而连接更多种类的东西:

@IBOutlet strong var labels: [UIView]!

enter image description here

enter image description here


同样,只要方法的接口(interface)有意义,就可以将多个不同类型的对象连接到一个@IBAction:

@IBAction func action(sender: AnyObject) {
    // write code to handle action here
}

enter image description here

关于ios - 一次将所有 UI 元素快速连接到一个 socket ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36091830/

相关文章:

ios - 使用 Core Data 将图像添加到数据库

ios - 错误 ITMS-90034 : Missing or invalid signature

ios - Swift 3 中的 Hashids.org 不工作

ios - 在 Swift 中创建相同 View 的最佳方法是什么?

iphone - 网页 View 在 Safari 中使用某些关键字打开链接

ios - Gmsmap 快速旋转 View

javascript - 如何在 NativeBase 中使用 DeckSwiper 元素而不会出现 "Element type is invalid"错误?

ios - 如何从 UIImage 获取文件路径?

ios - 为什么我的应用程序在与计算机 iPhone 断开连接的情况下加载 MapKit View 时崩溃?

iOS 13 - 如何登录内购沙盒账户?