ios开发--常用宏定义(部分转)_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > ios开发--常用宏定义(部分转)

ios开发--常用宏定义(部分转)

 2015/3/31 15:13:38  wx0123  程序员俱乐部  我要评论(0)
  • 摘要:1、release时,屏蔽logC代码#ifdefined(DEBUG)&&DEBUG==1#else#defineNSLog(...){};#endif#ifdefined(DEBUG)&&DEBUG==1#else#defineNSLog(...){};#endif2、在主线程或在后台执行blockC代码#defineBACK(block)dispatch_async(dispatch_get_global_queue
  • 标签:常用 iOS 开发 宏定义

1、release时,屏蔽log

C代码 复制代码 class="star" src="/Upload/Images/2015033115/40B102E0EF997EA6.png" alt="收藏代码" />spinner" style="display: none;" src="/Upload/Images/2015033115/4E072B8B8C20032D.gif" alt="" />
  1. #if defined (DEBUG) && DEBUG == 1  
  2.   
  3. #else  
  4. #define NSLog(...) {};  
  5. #endif  
#if defined (DEBUG) && DEBUG == 1

#else
#define NSLog(...) {};
#endif

 

2、在主线程或在后台执行block

C代码 复制代码 收藏代码
  1. #define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)  
  2. #define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)  
#define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)
#define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)

 

3、设备相关

 

C代码 复制代码 收藏代码
  1. #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)  
  2.   
  3. #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)  
  4.   
  5. #define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)  
  6.   
  7. #define CurrentSystemVersion ([[UIDevice currentDevice] systemVersion])  
  8.   
  9. #define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])   
#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)

#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)

#define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

#define CurrentSystemVersion ([[UIDevice currentDevice] systemVersion])

#define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0]) 

 

4、区分模拟器和真机

C代码 复制代码 收藏代码
  1. #if TARGET_OS_IPHONE  
  2. //iPhone Device  
  3. #endif  
  4.   
  5. #if TARGET_IPHONE_SIMULATOR  
  6. //iPhone Simulator  
  7. #endif  
#if TARGET_OS_IPHONE
//iPhone Device
#endif

#if TARGET_IPHONE_SIMULATOR
//iPhone Simulator
#endif

 

5、根据是否使用ARC做不同操作

C代码 复制代码 收藏代码
  1. #if __has_feature(objc_arc)  
  2.     //compiling with ARC  
  3. #else  
  4.     // compiling without ARC  
  5. #endif  
发表评论
用户名: 匿名