今天在博客园主页看到一篇帖子,提到NSLog消耗运行时性能: http://www.cnblogs.com/sunnyxx/p/3680623.html 解决方案如下,在​Prefix.pch文件当中定义宏: #ifdef DEBUG #define MyLog(...) NSLog(__VA_ARGS__) #else #define MyLog(...) #endif 这段宏可以根据是否存在DEBUG宏分别展开不同的MyLog方法代码, 如此一来,只要所有地方都使用MyLog代替NSLog,…
首先我们要更正一个很熟悉的概念,那就是指针不仅仅是“地址”,指针还有一个很重要的特性,那就是“类型”. 指针初始化时,“=”的右操作数; 除外,该语句表示指针为空): 所以 ; 这样的代码是不允许的.在C++里面直接是error的,即使在一些C编译器中以warning的形式提示,但是warning有的时候也很严重.所以这种东西不要用.从const int到int*是不存在隐士转换的. 正确的使用方法是 ; 这样就先使10这个地址增加一个类型,然后在赋值给int *p.看这句话的汇编: 00401…
原文链接地址:http://blog.sina.com.cn/s/blog_81136c2d0102v1ck.html 原文地址:IOS项目打包除去NSLog和NSAssert处理之阿堂教程作者:时空网络          使用过ios开发的网友都知道,我们使用NSLog和NSAssert的目的是为了调试,并在调试阶段输出一些信息,但是在调试结束,应用发布后,如果还使用NSLog和NSAssert输出信息,那样会影响性能.事实上,这个工作量比较大,而且刚刚移除掉时,你会发现又要进行调试,然后再把…
在上一节里提到了用利用gcd快速实现单例模式. 一个项目里面可能有好几个类都需要实现单例模式.为了更高效的编码,可以利用c语言中宏定义来实现. 新建一个Singleton.h的头文件. // @interface #define singleton_interface(className) \ + (className *)shared##className; // @implementation #define singleton_implementation(className) \ sta…
接着上面利用maven打好的jar包.把刚刚打好的包放入其他项目当中怎么办? 只需要在相同的目录下执行mvn install,maven会自动把jar放到本地仓库中. 这样,原先maven项目中缺少依赖的地方就不会报错了.…
[转] 1.1. 宏定义软件的代码,从跨平台的角度来看,可以分为平台相关的和平台无关的.采用C/C++编写的软件,在进行移植时,平台无关的的代码基本上不需要做大的改动,但平台相关的代码需要做很大的调整.这里所说的平台包括操作系统和编译器,为了能够做到让编译器在编译时根据当前的平台状况来自动选择需要编译的代码,我们一般需要用C/C++的编译宏指令来实现.举个例子,下面的一段代码是得到系统当前的时间并且格式化成字符串的操作,注意其中宏指令#ifdef -#else-#endif的使用.这段代码可以在…
话不多说,上方法 #define _for(i,a,b) for( int i=(a); i<(b); ++i) #define _rep(i,a,b) for( int i=(a); i<=(b); ++i) 这种简洁的宏定义将极大的简化for在实例中的使用 _for(i, , ) { printf("%d", i); } for 看起来更加简洁,而且其他使用方法跟一般的for很像.…
前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户在使用中纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了.静下心来分析一下问题的原因,无外乎就是质量没有过关就上线了.除去主观的一些因素,很大部分的客观因素我觉得可以被我们防范的.根据大神们提出的一套开发规范建议,CI + FDD,就可以帮助我…
前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户在使用中纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了.静下心来分析一下问题的原因,无外乎就是质量没有过关就上线了.除去主观的一些因素,很大部分的客观因素我觉得可以被我们防范的.根据大神们提出的一套开发规范建议,CI + FDD,就可以帮助我…
---恢复内容开始--- jenkins是一个广泛用于持续构建的可视化web工具,持续构建即各种项目的”自动化”编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:Java, c#, PHP等)的项目构建,也完全兼容ant.maven.gradle等多种第三方构建工具,同时跟svn.Git能无缝集成,也支持直接与知名源代码托管网站,比如github.bitbucket直接集成. 一.安装 Jenkins: 两种方式: 1) 终端命令输入:brew install jenkins 2…