🧩 IBOutlet とは?
「Interface Builder Outlet」の略で、Storyboard上の UI 要素を Swift コードに「出口(Outlet)」としてつなぐための記述です。
@IBOutlet weak var myLabel: UILabel!
これにより、コード側から myLabel.text などで UI を操作できるようになります。
🛠 接続手順(Xcode)
- Storyboard で Label や Button を設置
- そのまま Controlキーを押しながら ViewController.swift へドラッグ
- 表示されるポップアップで「IBOutlet」を選択し、名前をつけて完了
※ 接続が成功すると、Storyboard上でUI部品とコードが紐付けされます。
💡 使用例:ラベルのテキスト変更
class ViewController: UIViewController {
@IBOutlet weak var myLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
myLabel.text = "こんにちは、IBOutlet!"
}
}
❗️ よくあるエラーと注意点
- 接続が切れている:StoryboardでUI部品を削除 → 再接続が必要
- Unexpectedly found nil:接続ミス or IBOutletを使うタイミングが早すぎ
- weak を付ける理由:メモリ管理(循環参照の防止)
📘 IBOutlet の補足知識
@IBOutletは Interface Builder(IB)専用のマークアップ- 通常は
weakを付けるが、必要に応じてstrongも可 - StoryboardやXIBでの UI 設計時のみ使用される(コードUIでは不要)