translation:adc:cocoa:foundation:introduction_to_dynamically_loading_code:0300_cocoabundles

Cocoaにおけるロード可能バンドル

Cocoaランタイム環境用に作成されたロード可能バンドルは、2〜3個のCocoaに特有な事項を持ちます。 バンドルはCocoa用に記述されているので、Objective-Cクラスのコードを含みます。 特に、全てのCocoaロード可能バンドルは代表クラス(principal class)を持ちます。 NSBundleクラスによって提供されるコード読込みメカニズムは、バンドルの代表クラスをエントリーポイントとして使用します。 バンドルを読込むアプリケーションはNSBundleに問い合わせ、代表クラスを見つけることが出来ます。そして返ってきたClassオブジェクトを用いて、そのクラスのインスタンスを生成します。

NSBundleは2つの方法のうちのどちらかを用いて代表クラスを見つけます。 1つ目は、バンドルの情報プロパティリストに含まれるNSPrincipalClassキーを探します。 キーが存在すれば、キーの値をそのバンドルの代表クラス名として用います。 キーが存在しないかキーが指定するクラスがなければ、NSBundleは最初に読込まれたクラスを代表クラスとします。 Xcodeでビルドされたバンドルであれば、プロジェクトのビューで表示されているクラスの順番がバンドル読込み時の順番となります。

  • translation/adc/cocoa/foundation/introduction_to_dynamically_loading_code/0300_cocoabundles.txt
  • 最終更新: 2015-01-06 11:51
  • (外部編集)