关于NSEnumerator

本文介绍如何利用NSEnumerator来枚举NSArray、NSDictionary和NSSet等集合对象中的元素,并提供了一个具体的示例代码,展示了如何通过NSEnumerator来处理实际的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于NSEnumerator

从iOS 2.0开始,可以使用NSEnumerator来枚举NSArray、NSDictionary和NSSet对象中的元素。NSEnumerator本身是个抽象类。它依靠几个工厂方法,如objectEnumerator或keyEnumerator,来创建并返回相应的具体枚举器对象。客户端用返回的枚举器对象遍历集合中的元素,如下面的代码段所示。

 2016-08-10 18:27:37.573 CollectionViewDemo[1161:151734] {

 "headline_ad" =     (

 {

 imgsrc = "http://cms-bucket.nosdn.127.net/34a3d631fede42678a437decbd2be06320160810170353.jpeg";

 subtitle = "";

 tag = photoset;

 title = "\U91cc\U7ea6\U4e00\U5965\U8fd0\U5a92\U4f53\U5927\U5df4\U906d\U88ad\U51fb \U81f4\U8bb0\U8005\U53d7\U4f24";

 url = "00AO0001|2190986";

 },

 {

 imgsrc = "http://cms-bucket.nosdn.127.net/fce0a63fbd344839ae18ce3cad0c61b220160810154706.jpeg";

 subtitle = "";

 tag = photoset;

 title = "\U63a2\U8bbf\U5df4\U897f\U70ed\U5e26\U96e8\U6797\U6df1\U5904\U7684\U907f\U5b55\U5957\U5de5\U5382";

 url = "57KT0001|2190981";

 },

 {

 imgsrc = "http://cms-bucket.nosdn.127.net/c722897a9e6346f48966482eb85f411620160810144048.jpeg";

 subtitle = "";

 tag = photoset;

 title = "\U5185\U8499\U53e4\U73b0\U5f3a\U964d\U6c34 \U653f\U5e9c\U5927\U697c\U906d\U6d2a\U6c34\"\U6d17\U52ab\"";

 url = "00AP0001|2190979";

 },

 {

 imgsrc = "http://cms-bucket.nosdn.127.net/88a4272be3ce43f7ab778c64fc7ed86620160810094032.jpeg";

 subtitle = "";

 tag = photoset;

 title = "\U6e38\U5ba2\U591c\U6e38\U5927\U8fde\U6d77\U8fb9 \U7559\U4e0b\U5783\U573e\U904d\U5730";

 url = "00AP0001|2190941";

 }

 );

 }


下面我们来取出数据.

 NSString *urlString = @"http://c.m.163.com/nc/ad/headline/0-4.html";

 

 [[HYFNetworkTools sharedTools]requsetWithType:GET urlString:urlString params:nil success:^(NSDictionary * response) {

 

 //取出字典中的第一个元素.

 NSString *rootKey = response.keyEnumerator.nextObject;

 NSArray *array = response[rootKey];

 

 NSMutableArray *mArray = [NSMutableArray array];

 

 [array enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

 

 HYFHeadLineModel *model = [HYFHeadLineModel modelWithDict:obj];

 

 [mArray addObject:model];

 }];

 

 successBlock(mArray.copy);

 

 } failure:^(NSError *error) {

 

 failureBlock(error);

 

 }];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值