第四段 多用类型变量,少用#define预处理指令

#define kLeftWidth  15  设置距左边距为15  如果此时 你导入一个头文件 并且里面也含有kLeftWidth这玩意 那么头文件中的kLeftWidth会被替换。(#define称为预处理指令)

解决方式   static const CGFloat kLeftWidth = 15   为什么加个k?因为改常量局限在这个.m文件内(编译单元) 这是命名习惯 也是规范  合作开发才能更加没代沟  const作用:你试图修改常量,编译器就会报错  而static的作用是定义的该变量仅在编译单元可见(作用域在此.m范围内)   如果不使用static,其他编译单元也是用同名的变量 ,编译器就会抛出错误

extern NSString *const someValue;

NSString *const someValue = @“12”;

extern的作用 告诉编译器,全局符号表将会有一个叫someValue 的符号   也就是编译器不需要知道这是什么,即允许代码使用此常量

你可能感兴趣的:(第四段 多用类型变量,少用#define预处理指令)