- 检查是否支持blocks
__has_extension(blocks)
- 检查是否支持instancetye上下文关键词
__has_feature(objc_instancetype)
@interface A + (instancetype)constructAnA; @end
- 检查是否支持arc
__has_feature(objc_arc)
__has_feature(objc_arc_weak) //同时检查是否支持__weak指针
- 检查是否支持固定基础类型的枚举
__has_feature(objc_fixed_enum)