此方法能用好,可以在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
时间: 2024-10-26 09:41:02