键入' String'不符合协议' SequenceType' - Swift 2.0

时间:2015-10-02 14:14:52

标签: ios swift

我试图在Swift 2.0中反转字符串但是我在字符串上遇到错误。

func reverseString(string: String) -> String {
    var buffer = ""
    for character in string {
        buffer.insert(character, atIndex: buffer.startIndex)
    }

    return buffer
}

错误:

Type 'String' does not conform to protocol 'SequenceType'

2 个答案:

答案 0 :(得分:22)

简易解决方案:

func reverseString(string: String) -> String {
    return String(string.characters.reverse())
}

您的代码适用于此更改

for character in string.characters {

斯威夫特3:

在Swift 3中reverse()已重命名为reversed()

Swift 4:

在Swift 4中characters可以省略,因为String返回的行为类似于序列。

func reverseString(string: String) -> String {
    return String(string.reversed())
}

答案 1 :(得分:0)

自Swift 2起,String不符合SequenceType

您可以添加扩展程序。

extension String: SequenceType {}