繁体   English   中英

类型'String'不符合协议'SequenceType' - Swift 2.0

[英]Type 'String' does not conform to protocol 'SequenceType' - Swift 2.0

我试图在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'

简易解决方案

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

您的代码适用于此更改

for character in string.characters {

斯威夫特3:

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

斯威夫特4:

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

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

从Swift 2开始, String不符合SequenceType

您可以添加扩展程序。

extension String: SequenceType {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM