しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

【iOS】Referencing Outlet Collectionで複数の要素をひとまとめ

Storyboardにある、Referencing Outlet Collectionというものを試してみました。
Referencing Outletsはいつも使うのですが、Referencing Outlet Collectionは触ったことがないので一度使ってみました。

f:id:llcc:20171016142608p:plain

最初にStoryboard上で複数のUILabelを配置します。

f:id:llcc:20171016142825p:plain

次にViewControllerにUILabelの配列を定義します。
配列なので、通常の@IBOutletと違いweakが付きません。

class ViewController: UIViewController {
    @IBOutlet var labels: [UILabel]!
}

それをStoryboardのUILabelと紐付ければ設定完了です。

f:id:llcc:20171016143031p:plain

設定をしたら、実際にラベルの値を変える処理を書いてみました。

class ViewController: UIViewController {
    @IBOutlet var labels: [UILabel]!
    
    override func viewDidLoad() {
        labels.enumerated().forEach {
            $0.element.text = "\($0.offset)"
        }
    }
}

実行したらラベルの値が変わってる事を確認できました。

f:id:llcc:20171016143232p:plain

それと、labelsの並び順は紐付け順になっていました。