无法使用swift 2.0类型的参数列表调用reduce

时间:2015-09-21 08:39:59

标签: swift swift2

当我将swift 1.2升级到swift 2.0后发生错误

  

无法使用类型

的参数列表调用reduce

这是代码

let escaped = reduce(string, "") { string, character in
    string + (character == mark ? "\(mark)\(mark)" : "\(character)")
你可以帮我解决这个问题吗

1 个答案:

答案 0 :(得分:3)

reduce()是一种集合(如数组)的方法,因此您必须使用字符串的characters属性在您可以访问的字符列表上调用它,而不是整个字符串本身:

let escaped = string.characters.reduce("") { string, character in
    string + (character == mark ? "\(mark)\(mark)" : "\(character)")
}