static和const结合
开发中常用static修饰全局变量,用来改变变量的作用域。常用const来让变量只允许读取不允许改动。static和const两者结合就可以声明出一个静态的全局只读变量,这样就能达到类似于宏的效果。
// 声明一个静态的全局只读常量
static const int a = 20;
// 开发中经常拿到key修改值,因此用const修饰key,表示key只读,不允许修改。
static NSString * const key = @"name";
extern和const结合
这样的结合常用在字段的存储和调用上,例如存储一些常用的app接口,和宏相比这样定义只会在编译是运行,而不会在预编译时运行,编写代码时提高预编译速度。
例如创建了一份专门用于存储app接口的MyUrl.h和MyUrl.m文件
//MyUrl.h
extern NSString * const BaiDuUrl;
//MyUrl.m
NSString * const BaiDuUrl = @"www.baidu.com";
//导入MyUrl.h就可以调用了