定数の定義[FOUNDATION_EXPORT/#define]

733 ワード

FOUNDATION_を使うべきですEXPORTで定数を定義しますか?それとも#defineで定数を定義しますか?一般的にiOSで定数を定義する方法は2つありますが、次の例を見てみましょう.hファイル定義
FOUNDATION_EXPORT NSString * const kMyConstantString;  
FOUNDATION_EXPORT NSString * const kMyConstantString2;

.mファイル付与
NSString * const kMyConstantString = @"Hello";
NSString * const kMyConstantString2 = @"World";

もう1つはよく使われる#defineの方法です
#define kMyConstantString @"Hello"
#define kMyConstantString2 @"World"

第1の方法は、文字列の値が等しいか否かを検出する際に、より高速である.1つ目は直接(stringInstance==MyFirstConstant)を使用して比較することができ、defineは([stringInstance isEqualToString:MyFirstConstant])を使用します.1つ目はポインタアドレスを直接比較し、2つ目は文字列の各文字が等しいかどうかを比較します.