2016-01-24 17 views
8

Có cách nào đơn giản để thoát khỏi vòng lặp For bên trong, tức là vòng lặp Fro trong vòng lặp For khác không? Không cần phải đặt cờ bổ sung, ví dụ:Cách thoát khỏi vòng lặp For trong Swift

+0

lý do bạn không sử dụng vòng lặp while? – Coyote

+0

cờ bổ sung là cách đơn giản nhất trong nhiều ngôn ngữ. Đôi khi có một giải pháp khác nhưng chúng tôi sẽ phải xem vòng lặp. – Sulthan

+0

Cũng http://stackoverflow.com/questions/30768931/new-control-transfer-statements-labels-for-swift-2-0 – dawg

Trả lời

11

Có ba phương pháp cơ bản:

  1. Dùng thêm một cờ boolean

  2. Sử dụng một vòng lặp dán nhãn (label: for ...) và sau đó break label

  3. Trích xuất các lặp lại thành một hàm/phương thức riêng biệt và sau đó sử dụng một return thay vì một break.

Từ góc độ chất lượng mã Tôi tin rằng 3. là giải pháp tốt nhất.

+0

Cảm ơn, đã sử dụng phương pháp tiếp cận outerLoop được gắn nhãn – DavidS

17

Bạn chỉ cần đặt tên cho vòng lặp của mình. Như thế này:

let array = [1,2,3] 

    for number in 1...6 { 

     innerLoop: for i in array { 

      let newNumber = i + number 

      if i == 2 { 

       break innerLoop 
      } 
     } 
    }