【NSDictionary数组的遍历 Objective-C语言】

本文介绍了在Objective-C中遍历NSDictionary数组的三种方法:1) 使用增强的for循环遍历键;2) 通过键获取值进行遍历;3) 应用enumerateKeysAndObjectsUsingBlock方法进行遍历。

一、NSDictionary数组的遍历

1.遍历字典数组

1)字典中的数据,无法通过下标去取,例如

NSDictionary *dict = @{

@“name”: @“rose”,

@“age”: @“18”,

@“address”: @“BeijingXXStreet”

};

for (int i=0;i<dict.count;i++){

NSLog(@“%@”,dict[i]);

}

直接报错,字典中的数据,无法通过下标去取,所以,普通的for循环遍历下标法就无用武之地了,

2.那我用增强的for循环可不可以

for(这个地方写元素的类型,那这个元素是什么类型的,记住,这一对才是一个元素哦,@“name”:@“rose”

那我写什么类型一定不会出错,id,

for(id item in dict){

NSLog(@“%@”,item);

}

输出:address

age

name

是不是打出来全是键啊

所以,使用for in循环,遍历出来的是字典数组中所有的键

3.好了,有键了,是不是可以拿到里面的值啊,

for(id item in dict){

NSLog(@“%@ = %@”,item , dict[item]);

}

输出:address = BeijingXXStreet

age = 18

name = rose

所以,用for in循环这种方式是可以的,记住,for in循环遍历出来的是字典数组中所有的键,我们再通过键,拿到对应的值

4.使用block遍历

这个方法叫什么呢,叫做

enumerateKeysAndObjectsUsingBlock

这个方法的签名如下:

[dict enumerateKeysAndObjectsUsingBlock:(id _Nonnull key,id _Nonnull obj,BOOL * _Nonnull stop)block];

三个参数:Key :遍历出来的键

obj:遍历出来的值

stop:这个BOOL类型的指针,是不是要停掉遍历,给这个指针指向的对象赋值一个YES就可以了吧

好了,我就输出吧,

[dict enumerateKeysAndObjectsUsingBlock:(id _Nonnull key,id _Nonnull obj,BOOL * _Nonnull stop){

NSLog(@“%@ = %@”,key, obj);

}];

输出:address = BeijingXXStreet

age = 18

name = rose

好了,以上就是我们如何去遍历我们的字典数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风清晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值