2016-12-23 3 views
0

Я использую Swift 3. У меня есть словарь массивов, и я пытаюсь сортировать массивы на месте с использованием свойства, каждый объект в массиве содержит ,Почему компилятор заставляет меня использовать отсортированные (by :) в Swift 3

Насколько я понимаю, as of Swift 3 sorted() не сортируется, а вместо этого возвращает значение отсортированного массива. Если вы хотите сортировать, вы должны использовать sort(). Но когда я пытаюсь компилятор твердит «вид() был переименован отсортирован (по :)

Почему не компилятор позвольте мне использовать сорт()

Вот мой код:

func sortAllArraysInDict() { 

    for arrayOfGrowthPaths in catDict.values { 

     arrayOfGrowthPaths.sort({$0.growthPathDisplayOrder < $1.growthPathDisplayOrder}) 
} 
+1

просто удалить скобки 'arrayOfGrowthPaths.sort {$ 0.growthPathDisplayOrder <$ 1.growthPathDisplayOrder}' –

+1

wesome. Thx @LeoDabus, это сработало. –

+0

@LeoDabus, если вы добавите его в качестве ответа, я буду отмечать его как правильно. –

ответ

0

Убедитесь, что вы объявить массив в качестве переменной и просто удалите скобки:

arrayOfGrowthPaths.sort{$0.growthPathDisplayOrder < $1.growthPathDisplayOrder} 
+0

Не в Swift 3. –

Смежные вопросы