currently reading articles under ios

Objective-C编码规范精选

代码不仅是可以编译的,同时应该是 “有效” 的。好的代码有一些特性:简明,自我解释,优秀的组织,良好的文档,良好的命名,优秀的设计以及可以被久经考验。 ——《禅与 Objective-C 编程艺术》

依据日常个人和团队编码习惯总结、挑选出几点Objective-C代码规范,整理出此文,持续更新。

多条规范和思路参考《禅与 Objective-C 编程艺术》一书,非常推荐一读。

命名规范

驼峰命名

属性、变量、方法(iOS中的方法,规范的名称应该是:消息)均使用小写字母开头的驼峰命名。

全局变量命名,以小写字母g开头。

static CSDataManager *gDataMana......

Memory-Leaks-In-NSException

不易察觉的NSException内存泄露

前两天在Instrument扫到了一处内存泄露,和常见的Block、NSTimer、Target-Action之类循环引用无关,泄漏的call tree指向了一个属性的set的位置,在ARC下这种提示还真奇怪。

非常费解,在Demo里简单还原下事故现场:

@interface ExceptionViewController : BaseViewController

@propert......

iOS Color Misaligned Images优化

最近在做GPU图层显示的优化,其中关于Color Misaligned Images优化文章有很多,但在具体优化的时候还是遇到了点的问题,特此记录。

检测方式

以下两种方式均可发现存在Misaligned Images问题的地方:

模拟器调试时,打开模拟器的Debug - Color Misaligned Images菜单选项。最快捷,但仅限模拟器上查看。

Instrument性能检测时,选中Core Animation模板,在Display Settings中勾选Color Misaligned Images选项。可针对模拟器和真机,可查看真机上所有应用的像素混合情况。

问题定义......