我正在尝试在 Swift 游乐场中编写一段非常简单的代码。
var word = "Zebra"
for i in word {
print(i)
}
但是,我总是在第 3 行收到错误。
“String”没有名为“Generator”的成员
关于为什么这行不通的任何想法?注意:我正在 Xcode 7 中工作,使用 Swift 2.0 (字符串和字符)。 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/StringsAndCharacters.html
从 Swift 2 开始,String
不符合SequenceType
。但是,您可以使用characters
属性于String
. characters
返回一个String.CharacterView https://developer.apple.com/library/prerelease/ios/documentation/Swift/Reference/Swift_String-CharacterView_Structure/index.html#//apple_ref/swift/structctr/String.CharacterView/s:FVSS13CharacterViewcFMS_FSSS_这符合SequenceType
所以可以通过迭代for
loop:
let word = "Zebra"
for i in word.characters {
print(i)
}
或者,您可以添加扩展String
使其符合SequenceType
:
extension String: SequenceType {}
// Now you can use String in for loop again.
for i in "Zebra" {
print(i)
}
不过,我确信苹果有理由删除String
的符合SequenceType
所以第一个选项似乎是更好的选择。探索什么是可能的还是很有趣的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)