使用 FOUNDATION_EXPORT 或者 #define方法来定义常量
以上两种方法都能定义常量但是第一种
在 .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"
但是第一种方法更快, 效率更高, 原因是第一种比较的是指针地址, 第二种是比较每个字符串是否相等. 显而易见, 第一种速度更快
还有另种是使用 static inline function
一些调用频繁的简单函数, 也可以使用以上方式, 相比定义宏来说, 此方法可以进行编译检查, 防止出错. 例如
static inline CGFloat screenWidth(){
return [UIScreen mainScreen].bounds.size.width;
}
在其他地方调用即可
网友评论