本文介绍: 文章目录熟悉系统框架要点:多用块枚举,少用for循环使用Objective-C 1.0的NSEnumerator来遍历快速遍历基于块的遍历方式要点:对自定义其内存管理语义的collection使用无缝桥接要点:构建缓冲时选用NSCache而非NSDictionary要点:精简initialize与load的实现代码熟悉系统框架框架:将一系列代码封装为动态库,并在其中放入描述其接口的头文件,这样做出来的东西就叫做框架。有时为iOS平台而构造的第三方框架所使用的是静态库,但所有iOS平台的系统框架仍然使用
熟悉系统框架
框架:将一系列代码封装为动态库,并在其中放入描述其接口的头文件,这样做出来的东西就叫做框架。
有时为iOS平台而构造的第三方框架所使用的是静态库,但所有iOS平台的系统框架仍然使用动态库。
要点:
多用块枚举,少用for循环
使用Objective-C 1.0的NSEnumerator来遍历
NSEnumerator
是个抽象基类,其中只定义了两个方法,供其具体子类实现:
其中关键的方法是nextObject,它返回枚举里的下个对象。等到枚举中的全部对象都已返回之后,再调用就将返回nil。
Foundation框架中内建的collection类都实现了这种遍历方法。例如遍历数组:
虽然代码较for循环多了一点,但其真正的优势在:不论遍历哪种collection,都可以采用这套相似的语法。比如遍历字典和set:
快速遍历
自Objective-C 2.0引入了快速遍历这一功能。它为for循环开设了in关键字,比如要遍历数组:
如果某个类的对象支持快速遍历,则可以宣称自己遵从名为NSFastEnumeration的协议,从而令开发者可以采用此语法来迭代该对象。此协议只定义了一个方法:
该方法允许类实例返回多个对象,这就使得循环遍历操作更为高效。
由于NSEnumerator对象也实现了NSFastEnumeration协议,所以也可以用来执行反向遍历。例如:反向遍历数组:
基于块的遍历方式
要点:
对自定义其内存管理语义的collection使用无缝桥接
要点:
构建缓冲时选用NSCache而非NSDictionary
要点:
精简initialize与load的实现代码
要点:
别忘了NSTimer会保留其目标对象
要点 :
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。