【问题标题】:how to use modifying for-loop in Swift 3.2?如何在 Swift 3.2 中使用修改 for 循环?
【发布时间】:2018-01-31 11:53:15
【问题描述】:

我在Swift 3.2 中有一个转换后的 for 循环,看起来类似于:

for var i in 0..<char.characters.count {
    if(self.characters.count > len  && ((currentIndex + length2323) < length))
    {
      i = i - 1
    }
}

但是,它不能正常工作。当i 的设置值为i = i - 1 时,我想继续循环,但是这段代码超出了循环

而我之前的Swift 2 代码是:

for(var i = 0 ; i < char.characters.count ; i += 1) {
     if(self.characters.count > len  && ((currentIndex + length2323) < length))
     {
        i = i - 1
     }
}

【问题讨论】:

  • 您可以随时将 C 风格的 for 循环转换为 while 循环,例如 this
  • 顺便说一句,你能解释一下if inside loop 的作用吗?
  • 请试试我下面的代码,如果你把所有的代码都用 cntext 贴出来就好了,它应该解决什么问题......
  • i 是否用于未包含在此代码中的内容?在您包含的代码中,没有修改任何变量,i 仅在循环体内可用(并且不会在任何地方读取或传递)。

标签: ios arrays swift for-loop swift3.2


【解决方案1】:
for (index, item) in char.enumerated()
{
      //your loop
}

【讨论】:

    【解决方案2】:

    Swift 4 语法

    import UIKit
    var char = "char"
    var len = 9
    var currentIndex = 1
    var length2323 = 2323
    var length = 17
    for var i in 0..<char.count {
    if (self.count > len)  && ((currentIndex + length2323) < length) {
        i = i - 1
    }
    

    }

    Swift 3.2 语​​法

    import UIKit
    var char = "char"
    var len = 9
    var currentIndex = 1
    var length2323 = 2323
    var length = 17
    for var i in 0..<char.characters.count {
    if (self.characters.count > len)  && ((currentIndex + length2323) < length) {
        i = i - 1
    }
    

    }

    【讨论】:

    • 为什么i既是循环体内的字符又是数字?此外,如果您像这样在循环体内定义/遮蔽i,它将是一个新值,每次迭代都从0 开始。我认为这不是 OP 正在寻找的。​​span>
    • 在您的 for 循环中,您刚刚将 for var i in 0..&lt;characters.count 更改为 for var i in 0...char.characters.count 所以它对我有用吗?
    • @New-Learner if 语句应该做什么?可能是“自我”的问题。什么是自我对象?
    • @swift2geek self contains string like ("Peri Peri Sauce Chinese Menu4")
    • @New-Learner 好的,if 语句中应该包含 self,我做了一些更改
    猜你喜欢
    • 2016-10-02
    • 2023-03-14
    • 2016-04-25
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    相关资源
    最近更新 更多