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) 收藏 举报
浙公网安备 33010602011771号