我已将 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 风格的 for
循环在 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
}
关于swift - 修复 Swift 3 中的警告 "C-style for Statement is deprecated",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36213333/