私はobjective-CとCocoaを学んでいます。「ヌル定義マクロ」とは何ですか?
IBOutlet
は、Cプリプロセッサがコンパイル時に削除され、nullで定義されたマクロ、次のとおりです。アップルのチュートリアルでは、私は言いサイドノートがありますを通じて働いています。
私は不思議です - ヌル定義のマクロとは何ですか?
私はobjective-CとCocoaを学んでいます。「ヌル定義マクロ」とは何ですか?
IBOutlet
は、Cプリプロセッサがコンパイル時に削除され、nullで定義されたマクロ、次のとおりです。アップルのチュートリアルでは、私は言いサイドノートがありますを通じて働いています。
私は不思議です - ヌル定義のマクロとは何ですか?
#define IBOutlet
プログラムテキストでIBOutletを使用するたびに、何も置き換えられません。
FYIこの具体的なケースでは、IBOutlet
が存在する理由は、Interface Builderがソースファイルを解析して理解のビットを集めることができるためです。 UIを設計するときに、IBOutlet
の前にある変数がInterface Builderのアウトレットとして表示されるという手掛かりです(ちょっと手掛かりよりも強い)。
ヌル定義マクロは、プリプロセッサによって何も置き換えられない(削除される)マクロです。 phone
は出力変数である、address
は、入力と出力の両方で、
#define IN #define OUT #define INOUT int myFunction(IN char *name, INOUT char *address, OUT char *phone);
この宣言はname
は、関数の入力変数であることを示唆している:それの役割は、次のようなコードで何か、についてのヒントを与えることです。
また、何が定義されているかわからない場合は、コマンドをダブルクリックして、元のソースファイルの定義を開きます。
これは本当にかわいいです。私にアダーマを思い出させる(明らかに)。 パラメータ名の前または後に接頭辞を付けることをお勧めします。しかし、同じ効果。 – schwa
同じですが、クレイジーマクロで名前空間が汚染されていない点を除いて同じです。 ;) – Kos