在Swift中出现错误:类型为'String'的值没有成员'Generator'。

5

我有一段用Swift编写的代码:

var password = "Meet me in St. Louis"
for character in password {
    if character == "e" {
        print("found an e!")
    } else {
    }
}

代码出现以下错误:在Swift中,类型的值“String”没有成员“Generator”。错误发生在代码行:for character in password

我已经尝试在线查找可能的错误,但是找不到(而且我刚接触Swift,正在试图理解这种语言的特点)。

如果可能的话,请提供帮助并简要解释我错过的内容,感激不尽。

1个回答

17

为了让您的代码运行,您需要做如下操作:

var password = "Meet me in St. Louis"
for character in password.characters {
    if character == "e" {
        print("found an e!")
    } else {
    }
}
代码无法正常工作的问题在于它没有遍历数组寻找特定字符。将其更改为 password.characters 可以强制 i 搜索数组 password 的每个字符,然后问题就解决了。这种行为在 Swift 2.0 中发生,因为 String 不再符合 SequenceType 协议,而 String.CharacterView 符合该协议!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接