·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> ios开发--常用宏定义(部分转)

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

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

1、release时,屏蔽log

C代码 复制代码 收藏代码
  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