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

问题描述 投票:3回答:6

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

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

enter image description here

class SearchSubCatTableViewCell: UITableViewCell {


    @IBOutlet weak var subCatTitle: UILabel!

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

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

ios swift xcode storyboard iboutlet
6个回答
7
投票

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

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

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

0
投票

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


0
投票

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

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


0
投票

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


0
投票

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

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.