阅读Apple的Swift指南,更具体地说是 Closures 一章,我偶然发现了一个问题。声明了一个String数组
var names = ["Cris", "Alex", "Ewa", "Barry", "Daniella"]
本节的目的是传递一个字符串数组(上面的一个),并且函数sort(_ :)具有相同的数组,但通过提供闭包使用辅助方法进行排序。封闭是向后的方法
func backwards(s1: String, s2: String) -> Bool {
return s1 > s2
}
然后声明一个反转的数组并将方法排序应用于原始数组,名称为:
var reversed = names.sort(backwards)
反转的AFAIK应该被推断为一个字符串数组,但是当我检查时它被推断为 var revers:<> 。现在,反转不存储任何内容,并弹出错误:
Immutable value of type '[String]' only has mutating members named 'sort'
稍后在本章中,闭包被简化了很多,但是我得到了与现在相同的错误,所以当表达式足够简单但我不知道该做什么时我试图修复它。
我不知道这本书是否遗忘了什么或者是我的错误,我们将不胜感激。提前谢谢!