zoukankan      html  css  js  c++  java
  • IOS开发之----常用宏定义和讲解

    __FILE__  

                   当前文件所在目录                          

     __DATE__                         

                  “替代文字”是一个含有编译日期的字符串字面值,日期格式为“mm dd yyyy”(例如:“Mar 19 2006”)。如果日期小于10日,就在日的前面放一个空格符。NSLog(@"_DATE_=%s",__DATE__);

    __FUNCTION__ 

                    当前函数名称

    __LINE__              
                    当前语句在源文件中的行数
    __TIME__
                    此字符串字面值包含编译时间,格式为“hh:mm:ss”(范例:“08:00:59”)。
    __STDC__
                    整数常量1,表示此编译器遵循ISOC标准。
    __STDC_VERSION__ 
                 如何实现复合C89整部1,则这个宏的值为19940SL;如果实现符合C99,则这个宏的值为199901L;否则数值是未定义
    __STDC_EOBTED__
                  (C99)实现为宿主实现时为1,实现为独立实现为0
    __STDC_IEC_559__ 
                  (C99)浮点数实现复合IBC 60559标准时定义为1,否者数值是未定义
    __STDC_IEC_559_COMPLEX__ 
                  (C99)复数运算实现复合IBC 60559标准时定义为1,否者数值是未定义
    __STDC_ISO_10646__ 
                  (C99)定义为长整型常量,yyyymmL表示wchar_t值复合ISO 10646标准及其指定年月的修订补充,否则数值未定义

    1、release时,屏蔽log

    C代码  收藏代码
    1. #if defined (DEBUG) && DEBUG == 1  
    2.   
    3. #else  
    4. #define NSLog(...) {};  
    5. #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)  

    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])   
     

    4、区分模拟器和真机

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

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

    C代码  收藏代码
    1. #if __has_feature(objc_arc)  
    2.     //compiling with ARC  
    3. #else  
    4.     // compiling without ARC  
    5. #endif  
     
     
  • 相关阅读:
    go开发 modules 的使用和代理
    利用 nodejs 解析 m3u8 格式文件,并下 ts 合并为 mp4
    别再@官方啦,普天同庆加国旗
    vue基于 element ui 的按钮点击节流
    react-router 5.0 的鉴权
    slot 组件的内部传值 v-slot 的使用
    javascript 写一个ajax 自动拦截,并下载数据
    Linux 命令大全
    http 基础
    MongoDB Shell (mongo)
  • 原文地址:https://www.cnblogs.com/lvyinbentengzhe/p/4174780.html
Copyright © 2011-2022 走看看