swift中 forEach 和 forIn 循环的区别

Swift 提供了forEach循环和forIn循环:

class Car {
    var carArray = ["Audi","BWM","Bench"]
    
    func printUsingForLoop(){
        for car in carArray {
            print("car",car)
        }
    }
    
    func printUsingForEach(){
        carArray.forEach{ (car) in
            print("car",car)
        }
    }
}

let car = Car()
car.printUsingForLoop()
print("**********************")
car.printUsingForEach()

当用这两种方法循环数组的时候,如果没有其它操作,结果是一样的:

swift中 forEach 和 forIn 循环的区别_第1张图片
image.png

然而,这两个方法在使用的时候会有一些区别需要注意:

1.在 forEach循环中,你不能使用break 或者continue 跳出当前的循环,会出现语法错误。而在forIn 循环中可以使用:

swift中 forEach 和 forIn 循环的区别_第2张图片
image.png

2.在ForIn 循环中使用return的话,会立即跳出当前的循环体。然而在forEach中,还会继续遍历剩余元素。

class Car {
    var carArray = ["Audi","BWM","Bench"]
    
    func printUsingForLoop(){
        for car in carArray {
            print("car",car)
            if(car == "Audi")
            {
               return
            }
        }
    }
    
    func printUsingForEach(){
        carArray.forEach{ (car) in
            print("car",car)
            if(car == "Audi")
            {
                return
            }
        }
    }
}

let car = Car()
car.printUsingForLoop()
print("**********************")
car.printUsingForEach()
swift中 forEach 和 forIn 循环的区别_第3张图片
image.png

你可能感兴趣的:(swift中 forEach 和 forIn 循环的区别)