[英]Type 'String' does not conform to protocol 'SequenceType' - Swift 2.0
I'm trying to reverse string in Swift 2.0 but I get an error on the string ifself. 我试图在Swift 2.0中反转字符串但是我在字符串上遇到错误。
func reverseString(string: String) -> String {
var buffer = ""
for character in string {
buffer.insert(character, atIndex: buffer.startIndex)
}
return buffer
}
The error: 错误:
Type 'String' does not conform to protocol 'SequenceType'
Easy solution: 简易解决方案
func reverseString(string: String) -> String {
return String(string.characters.reverse())
}
Your code works with this change 您的代码适用于此更改
for character in string.characters {
Swift 3: 斯威夫特3:
In Swift 3 reverse()
has been renamed to reversed()
在Swift 3中, reverse()
已重命名为reverse()
reversed()
Swift 4: 斯威夫特4:
In Swift 4 characters
can be omitted because String
returned to behave like a sequence. 在Swift中,可以省略4个characters
因为String
返回的行为类似于序列。
func reverseString(string: String) -> String {
return String(string.reversed())
}
As of Swift 2, String
doesn't conform to SequenceType
. 从Swift 2开始, String
不符合SequenceType
。
You can add an extension. 您可以添加扩展程序。
extension String: SequenceType {}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.