オープンデータとプログラミング

Tag Archive for nib

Xcode:nibファイルって何よ?

Xcode

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.swiftviewDidLoad()メソッドには、

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ファイルについては、以下の本に詳しく書かれています。

より詳しく勉強してみたい方は読んでみてはいかがでしょうか。