iOS数组遍历内部实现原理

//  NSArray+BS.h

#import <Foundation/Foundation.h>

typedef void (^myBlock)(id obj, NSUInteger idx, BOOL *stop);

 @interface NSArray (BS)

 - (void)bs_enumerateObjectsUsingBlock:(myBlock)block;

 @end

 

//  NSArray+BS.m

#import "NSArray+BS.h"

 @implementation NSArray (BS)

- (void)bs_enumerateObjectsUsingBlock:(myBlock)block {

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

        BOOL isStop = NO;

        id obj = self[i];

        block(obj, i, &isStop);

        if (isStop) {

            break;

        }

    }

}

@end

 

// 自定义了自己的数组遍历方法,能达到与系统自带的enumerateObjectsUsingBlock:方法同样的效果

 

posted on 2015-09-23 11:09  18733540977  阅读(423)  评论(0)    收藏  举报

导航