🍎
Interface Builderを使わずにMacアプリケーション作成 - 目次
13/6/2追記:以下は全貌がよく分かっていないうちに、試行錯誤しながらその様子をむにゃむにゃとまとめた記事です。一検証の結果として残していますが、あまり鵜呑みにしないでもらえればと思います。
目次
1. nib検証篇
-
第1回
- アプリケーション起動時に実行されるmain()関数
- NSApplicationMain()関数の処理内容
- 起動時に読み込むxibはどこで指定しているか
-
第2回
- MainMenu.xibには何が定義されているのか
- xibの基礎構造
-
第3回
- Interface Builder上の操作とxibへの反映
- xib内の定義への反映
- xibから記述を削除するとInterface Builderはどういう挙動をとるか
- Interface Builder XIB Compilerの挙動
-
第4回
- main()関数を書き換える
-
- loadNibNamed:owner:を使う
-
- loadNibNamed:owner:topLevelObjects:を使う
- サンプルコード.zip
-
第5回
- NSApplicationMain()関数を使わないで本当に大丈夫か
- NSAppのRetain count
- NSLogを増やしRetain countを追う
-
第6回
- 結論 NSApplicationMain()関数は必要
- Document-Based Applicationで困ることに
- nibのロードでは何が動いているか
- Main nib file base nameを空欄にした場合の疑問
- NSApplicationMain()関数の動きを再確認
関連
執筆者
armorik83 (Twitter)
検証環境
- MacBook Pro, Mid 2009 / 3.06 GHz Core 2 Duo / 8GB mem
- Mac OS X 10.7.5(特記する場合に限り10.8.3)
- Xcode 4.6.2 (4H1003)
- Instruments 4.6 (46000)
謝辞
本記事シリーズは多くの資料を参考に、自身の検証や考察も含めて執筆しています。
- Apple社 各種リファレンス、およびガイド
- 荻原剛志著 詳解 Objective-C 2.0
- Aaron Hillegass, Adam Preble著 SDL Pic訳 MAC OS X COCOA プログラミング 原著第4版
- 木下誠氏 HMDT Cocoa Programming Tips 1001 記事
- 木下誠氏 マイナビニュース ダイナミックObjective-C
- Hiroshi Hashiguchi氏 Cocoaの日々
- 西方夏子氏 Natsu's Note
- 手塚文博氏 viva cocoa
順不同。貴重な資料や情報の数々をありがとうございます。
Discussion