iOS:#ifdef的使用

此方法能用好,可以在demo中起到至关重要的作用,此处有三种情况

一、

#ifdef XXXX
  //...demo块1...
#else
  //...demo块2...
#endif

此处实现机制是:如果xxxx编译过,即实现demo块1,否则为demo块2,#endif为结束。

#ifndef _XXXX 
  //...程序段1... 
#else 
  //...程序段2... 
#endif

此处实现机制是:当xxxx未编译过时实现demo块1,否则实现demo块2,与上面相反

实现机制方法一般是在pch文件里定义好,即:

#define XXXX

我的使用情景是:我的项目为双端,即客户端a和b,某些通用类的接口不一样,但是其他处理方式一模一样,所以使用此方法可以方便的进行判断,即在客户端a中的pch中定义xxxx,然后即可。

但是Xcode6之后苹果就不建议使用pch了。


二、

#define NUM
  .............
  .............
  .............
#ifdef NUM
   //……demo块1……
#else
    //……demo块2……
#endif

即:宏定义一个NUM,如果NUM有定义,则执行demo块1,否则执行demo块2,#endif为结束

我的使用情景是:根据在前一页面的选择不同,push到下一界面视图展现前后顺序不一样,所以我直接传值过去,判断此值内容然后根据内容是否给NUM定义。

三、

#if integerValue(常量) 
  //...demo块1...
#else
  //...demo块2...
#endif 

此处实现机制是:如果integerValue有值(非零非空),则执行demo块1,否则执行demo块2

我的使用情景:在demo块1中写入测试demo,使用时给integerValue赋值,不用为nil或0


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。