宏 __has_include
功能是检测到某个文件是否可以在工程中被包含. 注意: 是检测有没有能包含的能力,不代表引入了此头文件
经常用到一些三方库中, 此三方库可能以源码的形式引入, 也可能是动态库的形式引入, 使用__has_include判断, 可以消除import的警告, 例子:
#if __has_include(<YYModel/YYModel.h>)
#import <YYModel/NSObject+YYModel.h>
#import <YYModel/YYClassInfo.h>
#else
#import "NSObject+YYModel.h"
#import "YYClassInfo.h"
#endif
优先判断是否是动态库的形式<>, 如果没有才使用源码""方式