#define、const、static、extern小结

2018-10-31  本文已影响0人  千伞万伞

define

#define FYAppKey @"appKey"

#define FYUserDefaults [NSUserDefaults standardUserDefaults]

const

const:意为常量,当有字符串常量的时候,苹果推荐我们使用const,使其成为全局只读变量,如下:

NSString * const FYAppKey = @"appKey";

const 和 define的部分区别

define:
预编译、不检查错误、可以定义代码片段,宏过多会导致编译时间过长
const:
编译时、检查错误、不可以定义代码片段,const在谁前面就是修饰谁
备注:const修饰的是其后的变量,被其修饰的变量变成只读

static

static int i = 0; // example

extern

extern int i ; // example

static和const一起使用

static NSString * const name = @"fy"; // 只能在该文件下使用的全局变量

extern和const一起使用如果项目中使用到了整个项目都需要使用的全局变量建议这样做

/*
为了方便开发,一般这种变量不能定义在某一模块中,
在Global.m中定义一个不允许修改的全局变量
*/ 
NSString * const FYAppKey = @"appKey"; 
/*
在Global.h中声明这个全局变量
*/ 
extern NSString * const FYAppKey = @"appKey"; 
使用的时候直接导入Global.h即可
上一篇 下一篇

猜你喜欢

热点阅读