ios 条件编译的简单运用
#if 条件1 //code 1 #elif 条件2 //code 2 #else //code n #endif
条件1满足就编译code 1,以此类推。
#if (TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE) #import <UIKit/UIKit.h> #define HXColor UIColor #else #import <Foundation/Foundation.h> #define HXColor NSColor #endif @interface HXColor (HexColorAddition) + (HXColor *)colorWithHexString:(NSString *)hexString; + (HXColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha; + (HXColor *)colorWith8BitRed:(NSInteger)red green:(NSInteger)green blue:(NSInteger)blue; + (HXColor *)colorWith8BitRed:(NSInteger)red green:(NSInteger)green blue:(NSInteger)blue alpha:(CGFloat)alpha; @end
以上是拿第三方写的 HXColor 颜色类来说,在ios系统下,颜色类是UIColor,而其他系统下是NSColor,这样的编译条件此类可以通用整个apple平台。
#ifdef DEBUG #define kPortURL @"http://101.200.xxx:8089" //测试环境 #else #define kPortURL @"http://192.168.xxx:8080" //生产环境 #endif
我们可以这样规避发版时候的疏忽导致的接口错误。