加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

迭代通过String Swift 2.0

发布时间:2020-12-14 06:08:05 所属栏目:百科 来源:网络整理
导读:我试图在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 an
我试图在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,所以第一个选项似乎是更好的选择。有趣的是探索什么是可能的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读