美文网首页
EnumerateObjectsUsingBlock用法

EnumerateObjectsUsingBlock用法

作者: xiao_lvyang | 来源:发表于2016-10-31 16:16 被阅读0次

    这是foundation里面的一个方法:

    -(void)enumerateObjectsUsingBlock:(void (^)(ObjectTypeobj,NSUIntegeridx,BOOL*stop))block NS_AVAILABLE(10_6,4_0);

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

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

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

    输出log:

    2016-03-1715:06:10.308SDLayOut[24208:318707]0iszhangsna2016-03-1715:06:10.308SDLayOut[24208:318707]1islisi2016-03-1715:06:10.309SDLayOut[24208:318707]2iswangwu

    ObjectType obj:这里声明数组里面你放入的是什么类型的东西,不确定的话就直接id类型最靠谱。

    NSUInteger idx:这是数组的下标

    BOOL * _Nonnull stop:这是一个bool值,决定是否继续循环。如果有NO,继续循环下去。如果为YES ,停止循环。

    测试一下里面bool值的作用:

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

    输出log

    2016-03-1715:13:03.755SDLayOut[24415:326788]0iszhangsna

    相关文章

      网友评论

          本文标题:EnumerateObjectsUsingBlock用法

          本文链接:https://www.haomeiwen.com/subject/ogjputtx.html