Outlet Collection とは
画面上に似たような部品があった時に変数をまとめることができるもの
例えば以下のようなLabelを
class ViewController: UIViewController {
@IBOutlet weak var numberLabel1: UILabel!
@IBOutlet weak var numberLabel2: UILabel!
@IBOutlet weak var numberLabel3: UILabel!
@IBOutlet weak var numberLabel4: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
}
こんな感じに書ける
class ViewController: UIViewController {
@IBOutlet var numberLabel: [UILabel]!
override func viewDidLoad() {
super.viewDidLoad()
}
}
完成品
実装
Ctrlキーを押しながら一つ目のLabelをソースコードまで持ってきてConnectionをOutLet Collectionに設定してConnectを押す
StoryBoardの左側にある黄色ボタン?を押すと右側にOutlet Collectionsという画面が出てくる。
右側のボタンをStoryboard上の画面のLabelにドラッグするとLabelが追加される
ソースコード内に下記を追記して終了
class ViewController: UIViewController {
@IBOutlet var numberLabel: [UILabel]!
override func viewDidLoad() {
super.viewDidLoad()
for i in 0..<4 {
numberLabel[i].text = "\(i)"
}
}
}