nib2objcはMac OSXで作成したインタフェースファイルをObjective-Cに変換するソフトウェア。

nib2objcはMac OSX用のフリーウェア(ソースコードは公開されている。ライセンスはTHE BEER-WARE LICENSE)。iPhoneは年々進化しているが、それでもデスクトップなどに比べると速度は遅い。多少もたつく時もあるため、ストレスに感じることもあるかも知れない。より高いパフォーマンスを求めだすと、徐々に標準のやり方から脱線していく。

Interface Builderを使えばiPhone向けの画面をグラフィカルに設計ができる。だがよりパフォーマンスを求めたり、プログラムから動的にインタフェースを変更したいといったニーズがある時にはnib2objcを使って変換してみよう。


元ファイル

nib2objcはXIBファイルを引数にし、Objective-Cのコードを出力するソフトウェアだ。コンソールで動くモードと、GUIで動くモードの二つが用意されている。GUIの場合はプロパティを使うか、セッターを使うかを選択できるようになっている。


生成されたコード

出力されたコードを使えばXIBを使わずに画面を生成することが可能だ。とは言え生成されるコードは最低限で、本来必要な操作も自分でごりごり書く必要が出るのでいつでも使えるツールと言う訳ではなさそうだ。自分の設計した画面をObjective-Cで書くにはどうしたら良いか、といったチェックにも使うことはできそうだ。

[s2If current_user_can(access_s2member_level1)]


セッター版(プレミアム限定)

[/s2If]

MOONGIFTはこう見る

この手のやり方はWindowsアプリケーションを開発する時代から存在する。GUIをグラフィカルに設計できるのは便利な一方、複雑な実装をしようと思った時に融通が効かないのだ。とは言え一旦すべてをコードで書き始めると全てを置き換えることになるのが厄介だ。

またnib2objcが生成するコードで問題がないかと言われるとそうでもなさそうだ。定義したアクションの接続などは定義されないようだ。ある程度はInterface Builderで設計し、より高いパフォーマンスが求められる場合には使えるかも知れない。

via nib2objc: Convert iPhone NIB files into Objective-C code - The Changelog - Open Source moves fast. Keep up.

nib2objc - 概要 - akosma projects

akosma/nib2objc - GitHub