Swift ios将多个项目连接到同一个IBOutlet

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift ios将多个项目连接到同一个IBOutlet相关的知识,希望对你有一定的参考价值。

我想知道将多个项目连接到同一个IBOutlet是否可以?在我的tableView中,我设置了两个单元格,并为它们提供了一个uniqe标识符。

但我已将每个单元格中的标签连接到我的自定义UITableViewCell类中的同一IBOutlet。

enter image description here

class SearchSubCatTableViewCell: UITableViewCell {


    @IBOutlet weak var subCatTitle: UILabel!

所以我有两个标签连接到@IBOutlet weak var subCatTitle: UILabel!

当我测试应用程序时,这一切都正常,但它可以导致任何问题吗?

答案

是的,只要您不打算对这些标签进行任何操作,这都可以。

正确的方法是创建一个数组IBOutlet:

@IBOutlet var collectionOfLabels:[UILabel]?
  • 将所有标签连接到此标签阵列插座。
  • 然后通过阵列访问标签。
另一答案

你不会遇到任何问题。我已经做了很多次同样的事情。创建单元格时每个属性都有自己的价值。所以我猜你不会遇到任何问题

另一答案

不,它不会造成任何问题。

我在我的应用程序中使用了类似的设置,它被接受到应用程序商店。

另一答案

当您尝试对标签文本数据执行某些操作时,这可能会导致问题。我建议您查看IBOutlet Collections。您可以找到很好的教程here

另一答案

您可以将多个视图/标签/等连接到一个@IBOutlet,而它们来自不同的父母。

例如:你有一个带有label和imageView的HeaderView类,但你有3个独立的xib文件,其中包含HeaderView(比如3种设备(iPhone,iPhone 6Plus和iPad))。你可以将这个视图的类设置为HeaderView并连接@IOBoutlets到一个链接。

如果要创建@IBOutlet集合,则必须将插座定义为类型数组。例如:@IBOutlet private var labels: [UILabel]!

另一答案

如果使用相同的插座连接多个按钮,则不会遇到问题。如果您尝试在这些按钮上执行功能,则可能会遇到一些问题。如果您希望在这些按钮上执行功能,我建议您查看使用标签。

以上是关于Swift ios将多个项目连接到同一个IBOutlet的主要内容,如果未能解决你的问题,请参考以下文章

Swift iOS - 如何将 UIPopoverBackgroundView 类中的方法连接到不同类中的 PopoverController?

如何将 React Native Promise 连接到 Swift

无法在新的自定义类 Xcode 11 中连接到 IBOutlet

如何使用适用于 iOS 的 swift 3 连接到 MEAN 堆栈 REST api

Socket.IO-Client-Swift 未连接到 nodejs socket.io 服务器

Swift:检查iOS是不是在没有互联网的情况下连接到wifi