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的使用注意

注意:这种快速创建的方式只适用于不可变字典。

最新文章

  1. ASP.NET Razor - C# 循环和数组
  2. JavaScript 基础第二天
  3. AC日记——热浪 codevs 1557 (最短路模板题)
  4. HTTP消息中header头部信息的讲解
  5. 为SM30视图分配事务代码
  6. hdu 4300 Clairewd’s message KMP应用
  7. Asp.Net使用Bulk批量插入数据
  8. ASP.NET MVC中使用Ninject
  9. hive的数据导入与数据导出:(本地,云hdfs,hbase),列分隔符的设置,以及hdfs上传给pig如何处理
  10. MySQL排序函数field()详解
  11. 干货分享:互联网运营 学习SEO从零开始 SEO深度解析学习笔记
  12. Spring Cloud集成EDAS(替代Eureka)
  13. spring中的传播性 个人认为就是对方法的设置 其作用能传播到里面包含的方法上
  14. 【已解决】Chrome提示:"请停用以开发者模式运行的扩展程序"的解决办法
  15. vue给input file绑定函数获取当前上传的对象
  16. 使用简单的python语句编写爬虫 定时拿取信息并存入txt
  17. HUE配置文件hue.ini 的impala模块详解(图文详解)(分HA集群)
  18. (转)love2d有用的辅助库--gamework
  19. 手动添加ceph的mds
  20. 使用canvas输出base64_url

热门文章

  1. 而在Jquery中则使用$.map()、$.each()来操作数组
  2. Android布局揭秘
  3. TDirectory.CreateDirectory 完整、严谨的创建一个目录
  4. python 内置模块之hashlib、hmac、uuid
  5. 表达式语言之EL表达式
  6. 命令行插入含有中文的sql文件,报错ERROR 1366 (HY000): Incorrect stringvalue:
  7. .NET4.5中WCF中默认生成的basicHttpsBinding的研究
  8. iTween基础之Audio(音量和音调的变化)
  9. 微软职位内部推荐-Senior Software Development En
  10. 微软职位内部推荐-Software Development Engineer II