// 数组 enumerate
/* OC 中的写法
NSArray *arr = @[@1,@2,@3,@4];
__block NSInteger result = 0;
arr enumerateObjectsUsingBlock:^(NSNumber *num, NSUInteger idx, BOOL *stop) {
result += [num integerValue];
if (idx == 2) {
*stop = YES;
}
}
NSLog(@"%ld", result); // 输出 6 */
// Swift 中的写法
let arr : NSArray = [1,2,3,4]
var result = 0
//arr.enumerateObjects { (<#Any#>, <#Int#>, <#UnsafeMutablePointer#>) in
// <#code#>
//}
arr.enumerateObjects({ (num, idx, stop) in
result += num as! Int
if idx == 2 {
stop.pointee = true
}
})
print(result)
// 注意,这个 enumerateObjects 方法是 NSArray 的方法,不是 Array 的
// 遍历 Array 要使用 for
let arr1 = [1,2,3,4]
var result1 = 0
for (idx, num) in arr1.enumerated(){
result1 += num
if idx == 2 {
break
}
}
print(result1)