誰かが「アウトレット」とは何かを人間的に理解できる方法で説明できますか?
7 に答える
これは、Interface Builder に表示されるインスタンス変数であるため、IB を使用して別のオブジェクトをアウトレットに接続できます。
ペン先をロードすると、ペン先ロード システムが必要な魔法を実行して、正しいオブジェクトが各アウトレットに確実に表示されるようにします。
編集: この画像に関する完全なブログ記事を書くつもりでしたが (画像を完成させた後に考えが変わりました)、単独でも、人々の出口を明確にするのに役立つはずです. どうぞ:
(ソース: Boredzo.org )
私はそれをUIコントロールへのポインタと考えています。頭の中でその精神的なつながりを作ると、それは理にかなっています。
IBOutlet キーワードは次のように定義されます。
#ifndef IBOutlet
#define IBOutlet
#endif
コンパイラに関する限り、IBOutlet はまったく何もしません。その唯一の目的は、これが nib 内のオブジェクトに接続するインスタンス変数であることを Interface Builder に伝えるためのヒントとして機能することです。作成して nib ファイル内のオブジェクトに接続するインスタンス変数は、IBOutlet キーワードを前に付ける必要があります。
それらは、ユーザー インターフェイス オブジェクトを、それらを使用するコードに接続するブリッジであると言えます。名前が示すように、UI をコードに「プラグイン」する場所を提供します。
IBOutlet
オブジェクトインスタンス変数が次のように削除されたことをInterfaceBuilderに示すシンボルです。
IBOutlet id ivar_name;
関連するクラスのインスタンスのアウトレットとして提示する必要があります。これにより、Interface Builderでオブジェクトをグラフィカルに接続できるため、NIBがロードされた後(つまり、オブジェクトに-awakeFromNib
メッセージが送信されたとき)、ivar_nameの値は、InterfaceBuilderでアウトレットの値として選択したオブジェクトへのポインターになります。
Objective-C言語の観点からは、IBOutlet
何の意味もありません。
アウトレットは、ユーザー インターフェイス オブジェクト (Interface Builder) への参照を割り当てることができるコード (X コード) 内のインスタンス変数です。ユーザー インターフェイス オブジェクトをインスタンス変数にプラグインします。割り当ては、Interface Builder によって作成された NIB ファイルで指定されます。