李洪强iOS开发之Foundation框架—集合
Foundation框架—集合
一、NSArray和NSMutableArray
(一)NSArray不可变数组
(1)NSArray的基本介绍
NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组。
C语言数组有一个缺点即数组中只能存放同种数据类型的元素。
OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等。
(2)NSArray的创建
(3)NSArray的访问
(4)NSArray的遍历
数组的遍历有以下几种方式:
首先创建一个数组
第一种方法:使用for循环遍历
Block遍历的深入研究:
每拿到一个元素,就传递给obj,就会调用一次block,并且把当前的元素和索引位置当做参数传递给block。
注意1:break只使用在两种场合,即switch和循环结构中。
注意2:stop参数用来停止遍历,其值若为YES,则停止。
(二)NSMutableArray可变数组
(1)NSMutableArray的基本使用
注意:NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法。
二、NSSet和NSMutableSet
(一)NSSet不可变集合
基本使用:
(二)NSMutableSet可变集合
基本使用:
(三)NSSet和NSArray的对比
(1)共同点:
1)都是集合,都能够存放多个对象
2)只能存放oc对象,不能存放非oc对象类型(如int等基本数据类型和结构体,枚举等)。
3)本身都不可变,都有一个可变的子类。
(2)不同点:
1)NSArray有顺序,NSSet没有顺序
三、NSDictionary和NSMutableDictionary
(一)NSDictionary不可变字典
(1)介绍
现实中的字典:根据索引找到具体的内容
OC中的NSDictionary:根据key找到value。里面存储的东西都是键值对。
(2)NSDictionary的创建
注意:快速创建字典是编译器特性。
(3)NSDictionary的访问
(4)NSDictionary的遍历
(二)NSMutableDictionary可变字典
(1)NSMutableDictionary的基本使用
(2)NSMutableDictionary的使用注意
注意:这种快速创建的方式只适用于不可变字典。
最新文章
- ASP.NET Razor - C# 循环和数组
- JavaScript 基础第二天
- AC日记——热浪 codevs 1557 (最短路模板题)
- HTTP消息中header头部信息的讲解
- 为SM30视图分配事务代码
- hdu 4300 Clairewd’s message KMP应用
- Asp.Net使用Bulk批量插入数据
- ASP.NET MVC中使用Ninject
- hive的数据导入与数据导出:(本地,云hdfs,hbase),列分隔符的设置,以及hdfs上传给pig如何处理
- MySQL排序函数field()详解
- 干货分享:互联网运营 学习SEO从零开始 SEO深度解析学习笔记
- Spring Cloud集成EDAS(替代Eureka)
- spring中的传播性 个人认为就是对方法的设置 其作用能传播到里面包含的方法上
- 【已解决】Chrome提示:"请停用以开发者模式运行的扩展程序"的解决办法
- vue给input file绑定函数获取当前上传的对象
- 使用简单的python语句编写爬虫 定时拿取信息并存入txt
- HUE配置文件hue.ini 的impala模块详解(图文详解)(分HA集群)
- (转)love2d有用的辅助库--gamework
- 手动添加ceph的mds
- 使用canvas输出base64_url
热门文章
- 而在Jquery中则使用$.map()、$.each()来操作数组
- Android布局揭秘
- TDirectory.CreateDirectory 完整、严谨的创建一个目录
- python 内置模块之hashlib、hmac、uuid
- 表达式语言之EL表达式
- 命令行插入含有中文的sql文件,报错ERROR 1366 (HY000): Incorrect stringvalue:
- .NET4.5中WCF中默认生成的basicHttpsBinding的研究
- iTween基础之Audio(音量和音调的变化)
- 微软职位内部推荐-Senior Software Development En
- 微软职位内部推荐-Software Development Engineer II