此方法能用好,可以在demo中起到至关重要的作用,此处有三种情况
一、
复制代码
1
2
3
4
5#ifdef XXXX //...demo块1... #else //...demo块2... #endif
此处实现机制是:如果 xxxx编译过,即实现demo块1,否则为demo块2,#endif为结束。
复制代码
1
2
3
4
5#ifndef _XXXX //...程序段1... #else //...程序段2... #endif
此处实现机制是:当xxxx未编译过时实现demo块1,否则实现demo块2,与上面相反
实现机制方法一般是在pch文件里定义好,即:
复制代码
1#define XXXX
我的使用情景是:我的项目为双端,即客户端a和b,某些通用类的接口不一样,但是其他处理方式一模一样,所以使用此方法可以方便的进行判断,即在客户端a中的pch中定义xxxx,然后即可。
但是Xcode6之后苹果就不建议使用pch了。
二、
复制代码
1
2
3
4
5
6
7
8
9#define NUM ............. ............. ............. #ifdef NUM //……demo块1…… #else //……demo块2…… #endif
即: 宏定义一个NUM,如果NUM有定义,则执行demo块1,否则执行demo块2,#endif为结束
我的使用情景是:根据在前一页面的选择不同,push到下一界面视图展现前后顺序不一样,所以我直接传值过去,判断此值内容然后根据内容是否给NUM定义。
三、
复制代码
1
2
3
4
5#if integerValue(常量) //...demo块1... #else //...demo块2... #endif
此处实现机制是: 如果integerValue有值(非零非空),则执行demo块1,否则执行demo块2
我的使用情景:在demo块1中写入测试demo,使用时给integerValue赋值,不用为nil或0
最后
以上就是文静麦片最近收集整理的关于iOS:#ifdef的使用的全部内容,更多相关iOS:#ifdef内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复