Swift3 我的Xcode迫使我使用sorted(by:)而不是sort()

Swift3 我的Xcode迫使我使用sorted(by:)而不是sort(),swift3,Swift3,我正在整理一本字典。我清除了一个全局变量 var timesForRestaurants = [String: TimeInterval]() 然后我将该值附加到一个单独的函数中(递归): 然后我在另一个函数中调用它,当我转储它时,我将得到工作。但是,当我尝试排序时,会出现以下错误: “sort”已重命名为“sorted(by:)” 我已经采纳了另一个建议: 如果我创建一个单独的类进行测试,它就可以工作,但是每当我尝试在字典中调用它时,它就会失败 另外,如果我创建一个新变量,并使用sorte

我正在整理一本字典。我清除了一个全局变量

var timesForRestaurants = [String: TimeInterval]()
然后我将该值附加到一个单独的函数中(递归):

然后我在另一个函数中调用它,当我转储它时,我将得到工作。但是,当我尝试排序时,会出现以下错误:

“sort”已重命名为“sorted(by:)”

我已经采纳了另一个建议:

如果我创建一个单独的类进行测试,它就可以工作,但是每当我尝试在字典中调用它时,它就会失败

另外,如果我创建一个新变量,并使用sorted函数,它也可以正常工作。有人知道为什么只有当我叫sort时,它才会起作用吗

我现在正在使用swift 3.2并升级到xcode 9,如果这有什么不同的话


谢谢

你不能给字典排序。字典按定义是无序的。排序函数的结果将是一个元组数组。当然,谢谢!因此,如果我想实现上述目标(按objectID的顺序组织),最好的选择是创建一个自定义类,然后将它们放入一个数组中?另外,如果你回答(或告诉我在哪里可以回答),我会这样做。是的,我会这样做。太好了,再次感谢你,这节省了我很多时间。你无法对字典进行排序。字典按定义是无序的。排序函数的结果将是一个元组数组。当然,谢谢!因此,如果我想实现上述目标(按objectID的顺序组织),最好的选择是创建一个自定义类,然后将它们放入一个数组中?另外,如果你回答(或告诉我在哪里回答),我会这样做。是的,我会这样做。太好了,再次感谢你,这为我节省了很多时间
self.timesForRestaurants[restLocation.objectID] = timeVar