For-In Loops multiple conditions

前端 未结 5 1959
礼貌的吻别
礼貌的吻别 2021-01-18 02:34

With the new update to Xcode 7.3, a lot of issues appeared related with the new version of Swift 3. One of them says \"C-style for statement is deprecated and will be remove

相关标签:
5条回答
  • 2021-01-18 02:43

    It would be just as you're saying if you described it out loud:

    for i in 0 ..< min(5, products.count) { ... }
    

    That said, I suspect you really mean:

    for product in products.prefix(5) { ... }
    

    which is less error-prone than anything that requires subscripting.

    It's possible you actually need an integer index (though this is rare), in which case you mean:

    for (index, product) in products.enumerate().prefix(5) { ... }
    

    Or you could even get a real index if you wanted with:

    for (index, product) in zip(products.indices, products).prefix(5) { ... }
    
    0 讨论(0)
  • 2021-01-18 02:46

    Here’s a simple solution:

    var x = 0
    while (x < foo.length && x < bar.length) {
    
      // Loop body goes here
    
      x += 1
    }
    
    0 讨论(0)
  • 2021-01-18 02:50

    You can use && operator with where condition like

    let arr = [1,2,3,4,5,6,7,8,9]
    
    for i in 1...arr.count where i < 5  {
        print(i)
    }
    //output:- 1 2 3 4
    
    for i in 1...100 where i > 40 && i < 50 && (i % 2 == 0) {
         print(i)
    }
    //output:- 42 44 46 48
    
    0 讨论(0)
  • 2021-01-18 02:55

    Another way to do so would be like this

    for i in 0 ..< 5 where i < products.count {
    }
    
    0 讨论(0)
  • 2021-01-18 03:07

    One more example. Loop through all UILabel in subviews:

    for label in view.subviews where label is UILabel {
        print(label.text)
    }
    
    0 讨论(0)
提交回复
热议问题