我是靠谱客的博主 开朗玫瑰,最近开发中收集的这篇文章主要介绍IOS #ifdef 的那些事儿,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


格式有点乱,整了几次都整不过来,大家将就一下吧。

这篇文章是本人(本人是菜鸟)在第一次接触上线项目时遇到的一个让我记忆深刻的问题。

如果你是大神,那么请绕过,这只是很肤浅的知识点,写给自己也分享给大家。

相信大家对于下面的语句一定不陌生。

#ifdef (1)

(2)

#else

(3)

#endif

但是我在这里还是稍微解释一下吧(显得专业),如果在这个式子之前有#define(1)的话执行(2)否则执行(3)

 

如果只是这一点的话那么就对不起各位观众了。下面就要说我遇到的问题了,

我最近接触的项目代码中有这样几句

#ifdef DEBUG

static NSString *const kFPBaseUrl =@"http://(1)";

#else

static NSString *const kFPBaseUrl =@"http://(2)";

#endif

 相信基本上每个项目里面都会有这几句

 咋一看很简单,没错,就是很简单,就是一个测试服务器地址和生产服务器地址的切换。

 但是问题就出在#ifdef DEBUG上,由于要改成生产服务器测试,所以我就开始找#defineDEBUG

 但是我找遍了整个项目也没有找到,当时我就纳闷了。那要怎么去切换?后来我得人指点明白了。

 原来这个#defineDEBUG可以算是Xcode集成的,其实当我们运行项目的时候可以有选择是运行 debug 或 release 版本。

 如何选择?如下图 

 


 


 


    如上图,如果选择 debug 编译的话算是系统自行创建了#defineDEBUG然后下面你就知道了。。。

对于这个问题可能在有经验的人来说很简单,但是对于我们没有经验的或者没注意过的真还是有点帮助的。


在这里我还要说一点的是,关于在项目中肯定会有测试的服务器和生产的服务器,请求时用得地址接口肯定也不一样。

如果你不想麻烦在需要切换服务器是改动多个地方(而且容易出现错误),那么我建议你就只在这一个地方涉及请求接口

的更换和修改。这样做的好处就是改一个地方,所有的都会变,而且不容易出错,你还有什么理由不注意一下呢?


好了,今天就到这里。有错误欢迎指正,交流 —— LC.莫流觞





最后

以上就是开朗玫瑰为你收集整理的IOS #ifdef 的那些事儿的全部内容,希望文章能够帮你解决IOS #ifdef 的那些事儿所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部