宏常见用法:
<1>. 常见字符串抽成宏
<2>.常用代码抽成宏。
const
<1>.定义常量,当有字符串常量的时候,苹果推荐使用const。
<2> 编译时刻:
宏:预编译(编译常见过长); const :编译时刻
<3> 编译检查:
宏:不会检查错误; const:会检查错误
<4>.仅仅用来修饰右边的变量(只能修饰变量:基本变量,指针变量,对象变量),const修饰的变量表示只读。
<5>.开发中使用场景:定义一个全局只读变量;在方法中定义只读参数。
static
1.修饰局部变量
<1>.延长这个局部变量的声明周期,只要成员运行,局部变量就会一直存在;
<2>. 局部变量只分配一次内存
2.修饰全局变量
只会修改全局变量的作用域,表示只能是当前文件内使用
static 和const 修饰全局变量
static修饰全局变量,修改作用域,表示在当前文件中使用, const修饰变量,表示只读。
static NSString *const name =@"steve";
extern和const 联合使用
.h 文件
extern NSString *const name;
UIKIT_EXTERN NSString *const name; // 装逼写法
.m 文件
NSString *const name = @"Steve"