尽量使用靠的CONST常量和枚举类型ENUM来替换预处理宏#define

什么是位掩码?
在代码中你会经常看到1<<3这样的代码,它叫位掩码。
字面看来是看不出来它真正的意义的,你要从二进制的角度来审视这段代码,它的意思是说向把1从最右边左移动3位,换句话说就是移动位操作。

define有啥坏处?

1、不做类型检查,就这一条就把宏给pass了。

define有啥好处?

1、预编译,快。就是通常所说的能提高编译效率。
2、方便,因为是全局性质的嘛。
3、在赋值的时候更安全,因为肯定会报错嘛。

CONST
1、做类型检查。
2、运行时需要占用内存空间。
3、做全局常量的时候,需要在.h中声明,在.m中定义。

enum有啥用?
1、只能用于整形。
2、能替代CONST和#define。
3、最好使用OC专用的那种NS_ENUM和NS_OPTION定义形式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容