我正在尝试在Swift操场上编写一段非常简单的代码。
var word = "Zebra" for i in word { print(i) }
但是,我总是在第3行出现错误。
“字符串”没有名为“生成器”的成员
有什么想法为什么不起作用?注意:我正在使用Swift 2.0(字符串和字符)在Xcode 7中工作。
从Swift 2开始,String不符合SequenceType。但是,您可以在使用characters属性String。characters返回String.CharacterView符合的SequenceType,因此可以通过for循环进行迭代:
String
SequenceType
characters
String.CharacterView
for
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) }
虽然,我确定Apple有理由取消String与的一致性SequenceType,所以第一种选择似乎是更好的选择。探索有趣的事情很有意思。