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


    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  
  • 相关阅读:
    83. Remove Duplicates from Sorted List
    141. Linked List Cycle
    hdu1028 划分数
    XDU1019 阶乘因子的个数
    poj2773 容斥原理
    poj1091 容斥原理的应用
    poj1173 多重集组合数
    HDU 1465 错排问题
    poj 1496
    复习之求一个数的约束之积模一个质数
  • 原文地址:https://www.cnblogs.com/lovewx/p/4380833.html
Copyright © 2020-2023  润新知