迭代通过String Swift 2.0

前端之家收集整理的这篇文章主要介绍了迭代通过String Swift 2.0前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在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。但是,您可以使用字符串的字符属性。字符返回一个 String.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,所以第一个选项似乎是更好的选择。有趣的是探索什么是可能的。

原文链接:https://www.f2er.com/swift/321242.html

猜你在找的Swift相关文章