iOS 多用类型常量,少用#define预处理命令

工作中经常要定义常量,在这里总结一下。

// 比如定义一个播放动画的时间
#define ANIMATION_DURATION 0.5
// 这样定义的没有类型信息,预处理过程中会把碰到的所有ANIMATION_DURATION一律替换成0.5.

应该用下面两种来定义常量
变量一定要同时用static与const来声明,如果试图修改由const修饰符所声明的变量,编译器会报错

// .m文件(实现文件,又称为编译单元)。若常量局限于“编译单元”,以"k"开头;若常量在类之外可见,通常以类名为前缀
static const NSTimeInterval kAnimationDuration = 0.3
// 如果常量在类外可见,比如Person类
// .h文件中声明
extern NSString *const PersonId;
// .m文件中
NSString *const PersonId = @"66666";

你可能感兴趣的:(iOS 多用类型常量,少用#define预处理命令)