Storyboardにある、Referencing Outlet Collectionというものを試してみました。
Referencing Outletsはいつも使うのですが、Referencing Outlet Collectionは触ったことがないので一度使ってみました。
最初にStoryboard上で複数のUILabelを配置します。
次にViewControllerにUILabelの配列を定義します。
配列なので、通常の@IBOutletと違いweakが付きません。
class ViewController: UIViewController { @IBOutlet var labels: [UILabel]! }
それをStoryboardのUILabelと紐付ければ設定完了です。
設定をしたら、実際にラベルの値を変える処理を書いてみました。
class ViewController: UIViewController { @IBOutlet var labels: [UILabel]! override func viewDidLoad() { labels.enumerated().forEach { $0.element.text = "\($0.offset)" } } }
実行したらラベルの値が変わってる事を確認できました。
それと、labelsの並び順は紐付け順になっていました。