使用 FOUNDATION_EXPORT 或者 #define方法來(lái)定義常量
以上兩種方法都能定義常量但是第一種
在 .h 文件中
FOUNDATION_EXPORT NSString * const kConstString;
FOUNDATION_EXPORT NSString * const kConstString2;
FOUNDATION_EXPORT CGFloat const kTittlesViewH;
FOUNDATION_EXPORT CGFloat const kTittlesViewY;
在 .m 文件中
NSString * const kConstString = @"Hello";
NSString * const kConstString2 = @"World";
CGFloat const kTittlesViewH = 35;
CGFloat const kTittlesViewY = 64;
另一種方法 #define kMyConstantString @"Hello"
但是第一種方法更快, 效率更高, 原因是第一種比較的是指針地址, 第二種是比較每個(gè)字符串是否相等. 顯而易見(jiàn), 第一種速度更快
還有另種是使用 static inline function
一些調(diào)用頻繁的簡(jiǎn)單函數(shù), 也可以使用以上方式, 相比定義宏來(lái)說(shuō), 此方法可以進(jìn)行編譯檢查, 防止出錯(cuò). 例如
static inline CGFloat screenWidth(){
return [UIScreen mainScreen].bounds.size.width;
}
在其他地方調(diào)用即可