iOS常见宏定义

来源:互联网 发布:js集合添加对象 编辑:程序博客网 时间:2024/06/07 07:46
最基本的宏定义语法有两种,一种是简单的宏定义,另一种是带参数的宏定义。

基本定义:
#define <MacroName>  <MacroString>

带参数的宏定义:
#define <MacroName>(<paramList>)  <MacroString>


#. 多参数扩展

#define LOCK(...) OSSpinLockLock(&_lock); \

__VA_ARGS__; \

OSSpinLockUnlock(&_lock);



#. 判断是否包含了某个FrameWork 


#if __has_include (<YYCache/YYCache.h>)



#. 定义区间变量都非空的宏


NS_ASSUME_NONNULL_BEGIN

……

NS_ASSUME_NONNULL_END



#. 指定初始化函数 Designated Initializer

 NS_DESIGNATED_INITIALIZER



#. 定义常量

  FOUNDATION_EXPORT NSString * const testFly;



#. 防止警告

#pragma clang diagnostic push 

#pragma clang diagnostic ignored "-Warc-performSelector-leaks

//Set line here

#pragma clang diagnostic pop 





#.其他常见的宏


判断是否arc: ! __has_feature(objc_arc)


原创粉丝点击