🍎

Interface Builderを使わずにMacアプリケーション作成 - 目次

2020/09/20に公開

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)

謝辞

本記事シリーズは多くの資料を参考に、自身の検証や考察も含めて執筆しています。

Discussion