Swift将多个IBOutlet放入一个数组中

Cor*_*ijs 28 cocoa iboutlet ios iboutletcollection swift

多个IBOutlets

我使用了这些(标有红色边框)IBOutlets ctrl + drag

但我不喜欢完全相同的9次线(干)

我如何将这些IBOutlet放入数组中?

hol*_*lex 40

您可以在Swift中定义一个通用插座集合,如下所示:

@IBOutlet var collectionOfViews: Array<UIView>? // = [UIView]?
Run Code Online (Sandbox Code Playgroud)

或者例如UIButton对象:

@IBOutlet var collectionOfButtons: Array<UIButton>? // = [UIButton]?
Run Code Online (Sandbox Code Playgroud)

您可以在Outlet Collections组中找到您的集合,通常位于文件所有者中:

插座收藏

连接5个随机按钮后,它会在我的控制台上显示:

将UIButton实例连接到Collection


Kru*_*nal 20

按照以下步骤创建一个插座阵列,并将其与IB Elements连接:

  • 创建一个IBOutlets数组
  • 在Storyboard ViewController界面中添加多个UIElements(视图)
  • 选择ViewController(在故事板中)并打开连接检查器
  • 连接检查器中有"Outlet Collections"选项(您将在那里看到一系列插座)
  • 连接if与您的界面元素

-

class ViewController2: UIViewController {


    @IBOutlet var collection:[UIView]!


    override func viewDidLoad() {
        super.viewDidLoad()
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 这很棒.帮我一堆..谢谢 (2认同)
  • 谢谢!,节省我的时间 (2认同)

han*_*esr 2

此处的解决方案Swift - IBOutletCollection 等效项

@IBOutlet var objectCollection:[对象]

  • 这个答案太简短,没有提供任何细节,应该删除。 (4认同)
  • 答案只需简短 (3认同)