for循环在OC和swift中的小区别

  1. OC通常用forin
 NSArray *arr1 = @[@[@1,@2],@[@3,@4],@[@9,@8,@7]];
    for (NSArray *arr in arr1) {
        NSLog(@"%@", arr);
        for (NSNumber *index in arr) {
            NSLog(@"%@", index);
            if ([index isEqualToNumber:@1]) {
                NSLog(@"lalallalalal");
                return;
            }
        }
    }
for循环在OC和swift中的小区别_第1张图片
屏幕快照 2017-08-09 下午4.48.59.png

如果用break代替return 结果如下


for循环在OC和swift中的小区别_第2张图片
屏幕快照 2017-08-09 下午4.50.10.png

2.在swift中通常用foreach

let arr1 = [[1,2],[3,4]]
        arr1.forEach { (arr) in
            print(arr)
            arr.forEach({ (index) in
                print(index)
                if index == 3{
                    print("jiushiwole")
                    return
                }
                print("nengzhixingdaozherme")
            })
        }
for循环在OC和swift中的小区别_第3张图片
屏幕快照 2017-08-09 下午5.05.16.png

总结

在OC中 return起终止整个程序运行的作用。而break只是终止本层循环,若有两层循环,使用break将跳出最里层的循环,从第二层循环下一个index重新开始遍历。continue则是跳过最内层循环continue后面的语句,重新从最内层下一个index开始遍历
在swift中break不能用于foreach中,而return的作用就像continue在OC中的作用,只是跳过了本次循环余下的部分 从最内层foreach的下一个index开始继续执行

你可能感兴趣的:(for循环在OC和swift中的小区别)