Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

< 前ページ次ページ >

動的ロード

Objective-Cプログラムでは、実行中に新しいクラスとカテゴリをロードしてリンクすることができます。新しいコードは、プログラムに組み込まれ、起動時にロードされたクラスやカテゴリと同様に扱われます。

動的ロードは、さまざまなことを実行するために使用することができます。たとえば、「システム環境設定」アプリケーションの各種モジュールは動的にロードされます。

Cocoa環境では、一般的に、アプリケーションをカスタマイズできるようにするために動的ロードを使用します。プログラムで実行時にロードするモジュールは、他の人が記述することもできます。Interface Builderがカスタムパレットをロードし、Mac OS Xの「システム環境設定」アプリケーションがカスタム環境設定モジュールをロードするのとほとんど同じです。ロード可能なモジュールにより、アプリケーションでできることが拡張されます。それらのモジュールは、許可はしたものの、予測、定義していなかった方法で拡張に貢献します。フレームワークは自身で用意しますが、コードは他から提供されます。

Mach-OファイルのObjective-Cモジュールを動的にロードするランタイム関数がありますが(objc_loadModulesobjc/objc-load.hで定義)、CocoaのNSBundleクラスは動的ロードの非常に便利なインターフェイスを提供します。そのインターフェイスは、オブジェクト指向で、関連サービスが統合されています。NSBundleクラスとその使用法の詳細については、FoundationフレームワークリファレンスのNSBundleクラス仕様を参照してください。Mach-Oファイルの詳細については、『Mac OS X ABI Mach-O File Format Reference』を参照してください。



< 前ページ次ページ >


Last updated: 2007-10-31




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice