enumerateObjectsUsingBlock

这是foundation里面的一个方法:

- (void)enumerateObjectsUsingBlock:(void (^)(ObjectType obj, NSUInteger idx, BOOL *stop))block NS_AVAILABLE(10_6, 4_0);

这个方法也是一种循环的方法与for,while实现的功能一样,但是既然苹果出了这个方法,那一定有它的与众不同的地方。

NSArray *array = @[@"zhang sna",@"li si",@"wang wu"];
    [array enumerateObjectsUsingBlock:^(id items, NSUInteger idx, BOOL * _Nonnull stop) {
        NSLog(@"%lu is %@",(unsigned long)idx,items);
    }];

这个一个简单的循环输出代码。
输出log:

2016-03-17 15:06:10.308 SDLayOut[24208:318707] 0 is zhang sna
2016-03-17 15:06:10.308 SDLayOut[24208:318707] 1 is li si
2016-03-17 15:06:10.309 SDLayOut[24208:318707] 2 is wang wu

ObjectType obj:这里声明数组里面你放入的是什么类型的东西,不确定的话就直接id类型最靠谱。
NSUInteger idx:这是数组的下标
BOOL * _Nonnull stop:这是一个bool值,决定是否继续循环。如果有NO,继续循环下去。如果为YES ,停止循环。
测试一下里面bool值的作用:

    NSArray *array = @[@"zhang sna",@"li si",@"wang wu"];
    [array enumerateObjectsUsingBlock:^(id items, NSUInteger idx, BOOL * _Nonnull stop) {
        NSLog(@"%lu is %@",(unsigned long)idx,items);
        *stop = YES;
    }];

输出log

2016-03-17 15:13:03.755 SDLayOut[24415:326788] 0 is zhang sna
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值