IOSのファイル所有者と最初のレスポンダー-Xcodeとは何ですか?
ファイル所有者は、インスタンス化されたruntimeオブジェクトであり、nibのロード時にnibのコンテンツとそのアウトレット/アクションを所有します。任意のクラスのインスタンスにすることができます-ツールパレットのIDタブを見てください。
ファイル所有者は、アプリケーションコードとnibファイルのコンテンツ間のメインリンクです。
たとえば、UILabelのIBOutletを持つUIViewControllerサブクラスがあるとします。インターフェースビルダーでは、ファイルの所有者はUIViewControllerと同じクラスに設定されます。実行時にnibがロードされると、view controllerが所有者であるため、nibで定義されたアウトレットとアクションのバインディングがView Controllerのインスタンスにバインドされます。
ペン先は次を使用してロードされます:
[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];
所有者パラメーターは特に重要です。これは、ロードされるnibのコンテンツ(アウトレット、アクション、およびオブジェクト)を所有するクラスのランタイムインスタンスです。
うまくいけばそれは明らかです。これを職場で見るには、View Controllerを備えた新しいiPhoneプロジェクトを作成します。 Nibファイルを開き、IDタブを確認します。
ファーストレスポンダーは、イベントに応答できるレスポンダーチェーンの最初のオブジェクトです。レスポンダーチェーンは、イベントに応答できるオブジェクトのランタイムコレクション(より正確には階層)です。たとえば、ビューのあるウィンドウがあり、そのビューにテキストフィールドがあるとします。
そのテキストフィールドにフォーカスがある場合、チェーンの最初のレスポンダーとして知られています。したがって、最初のレスポンダーにメッセージを送信すると、最初にテキストフィールドに送信されます。テキストフィールドがメッセージを処理できない場合、メッセージはnext responderに送信されます。そして次。次に、レスポンダーチェーンの最後に到達するか、何かがイベントを消費するまで(iirc)。
レスポンダーチェーンについて読む価値があります。詳細については、Appleのドキュメントを参照してください。