修复 Swift 3 中的警告“C-style for Statement is deprecated”

2024-02-10

我有更新Xcode到 7.3,现在我对用于创建随机字符串的函数发出警告。

我尝试过改变for声明与for (i in 0 ..< len){...}然而,警告变成了错误。

我怎样才能删除警告?

static func randomStringWithLength (len : Int) -> NSString {
  let letters : NSString = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  let randomString : NSMutableString = NSMutableString(capacity: len)

  for (var i=0; i < len; i += 1){ // warning
    let length = UInt32 (letters.length)
    let rand = arc4random_uniform(length)
    randomString.appendFormat("%C", letters.characterAtIndex(Int(rand)))
  }
  return randomString
}

C-style forLoop 在 Swift 3 中已被弃用。你可以继续使用它一段时间,但它们将来肯定会消失。

您可以将循环重写为 Swift 的风格:

for i in 0..<len {
    let length = UInt32 (letters.length)
    let rand = arc4random_uniform(length)
    randomString.appendFormat("%C", letters.characterAtIndex(Int(rand)))
}

既然你不使用i在循环体中,您可以将其替换为:

for _ in 0..<len {
    // do stuffs
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

修复 Swift 3 中的警告“C-style for Statement is deprecated” 的相关文章

随机推荐