XCode 16.0 日本語化計画
バンドルの主クラス。
このプロパティは、クラスの定義を含むコードが動的にロードされたことを確認した後に設定されます。バンドルがロード中にエラーに遭遇した場合、またはバンドルディレクトリで実行可能コードファイルが見つからない場合、このプロパティは nil になります。
主クラスは通常、バンドル内の他のすべてのクラスを制御します。主クラスは、それらのクラスとバンドル外部のクラスの間で仲介する必要があります。クラス (およびカテゴリ) は、バンドルディレクトリ内の 1 つのファイルからのみロードされます。バンドルは、キーとして "NSExecutable" を使用して、infoDictionary から返された辞書からロードするコードファイルの名前を取得します。バンドルは、以下の 2 つの方法のいずれかで主クラスを決定します。
主クラスが情報辞書に指定されていない場合、バンドルはロードされた最初のクラスを主クラスとして識別します。複数のクラスが動的にロード可能なファイルにリンクされている場合、デフォルトの主クラスは、ld コマンドラインにリストされている最初のクラスです。以下の例では、Reporter が主クラスになります。
Xcode のプロジェクトブラウザでのクラスの順序は、リンクされる順序です。主クラスを指定するには、その実装を含むファイルを control キーを押しながらリストの先頭にドラッグします。
コードのロードの副作用として、すべてのクラスとカテゴリがロードされた後、受信者は didLoadNotification をポストします。詳細については、Notifications を参照してください。
以下のメソッドは、そのパス (bundleWithPath:) を指定してバンドルを取得し、principalClass を使用してバンドルをロードし、主クラス オブジェクトを使用してそのクラスのインスタンスを割り当てて初期化します。
func classNamed(String) -> AnyClass?
指定された名前の Class オブジェクトを返します。
class let didLoadNotification: NSNotification.Name
クラスが動的にロードされたことを監視者に知らせる通知。
ロードされた各クラスの名前の配列に対応する didLoadNotification 通知の userInfo 辞書のキーとして使用される定数。
コードがまだロードされていない場合は、バンドルの実行可能コードを実行中のプログラムに動的にロードします。
var infoDictionary: [String : Any]?
バンドルの Info.plist ファイルから構築され、受信者に関する情報を含む辞書。