iOS开发之遍历集合(NSArray,NSDictionary)

一般都会想到  for循环, 毕竟Objective-C是基于C语言的,自然可以使用for循环。

遍历数组
遍历字典


我们都知道字典和set是无序的,所以我们无法根据特定的整数下标来直接访问其中的值,于是需要先获取字典中的键或者set中的所有对象,这样就可以在获取到的有序数组上进行遍历了。然而创建数组是要额外的开销的,还会多创建出一个数组对象,他会保留collection中的所有对象,占用了内存。


所以,推荐用下面这张方式:

基于块的遍历方式

苹果封装了如此高效、优雅、易用的一套接口不用多么浪费。


遍历数组
遍历字典

就是这么简单,block直接把字典的key和value都给我们了,再也不用书写直白而繁琐的代码了。


反向遍历

相对于正向遍历多了一个枚举类型的参数NSEnumerationReverse,打开这个选项就可以反向遍历了。



并发遍历

并发遍历,参数是:NSEnumerationConcurrent,也就是可以同时遍历collection中的几个元素,具体数量根据系统资源而定。这样会充分利用系统资源,高效快捷的完成collection的遍历,系统底层会通过GCD来处理并发事宜,开发者不需要担心内存和线程,其他方式若要实现高效的并发遍历十分有难度。通过块枚举遍历,改变collection并不会引起崩溃。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容