数组 enumerate

// 数组 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)

你可能感兴趣的:(数组 enumerate)