types'string'不符合协议'SequenceType' – Swift 2.0

我试图在Swift 2.0中反转string,但是我得到一个stringifself的错误。

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' 

简易解决scheme

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

您的代码适用于此更改

 for character in string.characters { 

Swift 3:

在Swift 3中reverse()已经改名为reversed()

Swift 4:

在Swift中,可以省略4个characters因为String返回的行为就像一个序列。

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

从Swift 2开始, String不符合SequenceType

你可以添加一个扩展。

 extension String: SequenceType {}