nibファイルは『ニブファイル』と読みます。
iOSアプリの開発がはじめての方が、理解しにくいnibファイルについて解説します。
概要
nibファイルとは、簡単にいってしまうとボタンなどのUI要素の描画情報が記述されたファイルのことです。
iOSアプリの開発作業は、「プログラムコードの記述」と「UIの作成」の二つに大別できます。通常は「UIの作成」はInterface Builder(IB)※を使用してUIを作成する作業を行います。このIBで作成されたUI要素の描画情報がnibファイルに格納されます。
※以前はXcodeとは独立したアプリでしたが、現在ではXCodeに統合されています
名前の由来
拡張子は.nibです。この拡張子が呼び名の由来です。
nibはNeXTStep Interface Builderの頭文字からとったものです。
ストーリーボードファイルとの関係
UI要素の描画情報はストーリーボードファイル(Storybordファイル)に格納されているのでは?と思うかもしれません。実は、ストーリーボードファイル(Storybordファイル)の正体は、複数のnibファイルを一つにまとめたものです。
ViewControllerとの関係
アプリ(ViewController)が起動されるときに、nibファイルからUI要素の描画情報が読み込まれ、インスタンス化され、起動直後の画面が描画されます。
ViewController.swiftのviewDidLoad()メソッドには、
Do any additional setup after loading the view, typically from a nib.
とコメントが記載されています。
「ボタンなどのUI要素がnibファイルからロードされ、インスタンス化されたらあとは
あなたが設定等を自由に記述してくださいね」、
ということです。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
viewDidLoad()の中でプログラムを記述することによって、UI要素の色を変えたり、ボタンを追加したりすることができるわけですね。
nibファイルについては、以下の本に詳しく書かれています。
より詳しく勉強してみたい方は読んでみてはいかがでしょうか。