注:
#if和#ifdef的区别:
#if 后面接的是宏。
#ifdef 是判断有没有定义这个宏。
1、如果是Debug状态
#if DEBUG #else #endif
2、如果不是在模拟器上运行
#if !TARGET_IPHONE_SIMULATOR #endif
3、
#if TARGET_IPHONE_SIMULATOR #elif TARGET_OS_IPHONE #endif
4、如果手机系统版本小雨5.0
#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0 #error #endif
5、在手机上运行并且系统版本大于等于4.0
#if TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0 #endif
6、block的判断,这个是在4.0以后有的,当然也可以不进行判断,因为现在大多数都4.0以后了。
#if NS_BLOCKS_AVAILABLE #endif
7、判断是否支持arc
#if !__has_feature(objc_arc) #endif