IOS开发之----常用宏定义和讲解_IOS-Coding_新浪博客

原文地址:http://chenyilong.postach.io/ioskai-fa-zhi-chang-yong-hong-ding-yi-he-jiang-jie-ios-coding-xin-lang-bo-ke?utm_source=tuicool&utm_medium=referral

系统宏汇集

__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

#if  defined  (DEBUG)  &&  DEBUG  ==  1    
#else    
#define  NSLog(...)  {};    
#endif    

2、在主线程或在后台执行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、设备相关

#define  isRetina  ([UIScreen  instancesRespondToSelect or:@selector(currentMode)]  ?  CGSizeEqualToSize(CGSizeMake(640,  960),  [[UIScreen  mainScreen]  currentMode].size)  :  NO)    
#define  iPhone5  ([UIScreen  instancesRespondToSelect or:@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、 区分模拟器和真机

#if  TARGET_OS_IPHONE    
//iPhone  Device    
#endif    
#if  TARGET_IPHONE_SIMULATOR    
//iPhone  Simulator    
#endif    

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

#if  __has_feature(objc_arc)    
        //compiling  with  ARC    
#else    
        //  compiling  without  ARC    
#endif    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值