我试图在Swift游乐场做一个非常简单的代码。
var word = "Zebra" for i in word { print(i) }
但是,我总是在第3行得到一个错误。
‘String’ does not have a member named ‘Generator’
任何想法为什么这不工作?注意:我在Xcode 7,与Swift 2.0(Strings and Characters).
从Swift 2开始,String不符合SequenceType。但是,您可以使用字符串的字符属性。字符返回一个
原文链接:https://www.f2er.com/swift/321242.htmlString.CharacterView
,它符合SequenceType,因此可以通过for循环迭代:
let word = "Zebra" for i in word.characters { print(i) }
或者,您可以添加一个扩展名到字符串,使其符合SequenceType:
extension String: SequenceType {} // Now you can use String in for loop again. for i in "Zebra" { print(i) }
虽然,我相信苹果有一个原因,删除String的一致性SequenceType,所以第一个选项似乎是更好的选择。有趣的是探索什么是可能的。