美文网首页
swift中 forEach 和 forIn 循环的区别

swift中 forEach 和 forIn 循环的区别

作者: 爱抽烟的芭比 | 来源:发表于2017-08-26 22:22 被阅读506次

    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()
    

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

    image.png

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

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

    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()
    
    image.png

    相关文章

      网友评论

          本文标题:swift中 forEach 和 forIn 循环的区别

          本文链接:https://www.haomeiwen.com/subject/zauvdxtx.html