У меня есть массив как это:Как сортировать NSDate в Swift
selectedMarks : [StatDetails] = [
StatDetails(dateRanges: [2015-05-29 09:30:00 +0000, 2015-05-29 10:30:00 +0000], hours: 1),
StatDetails(dateRanges: [2015-06-16 08:00:00 +0000, 2015-06-16 09:00:00 +0000], hours: 1),
StatDetails(dateRanges: [2015-06-10 15:00:00 +0000, 2015-06-10 16:00:00 +0000], hours: 1)]
Как вы можете видеть, selectedMarks является массивом "StatDetails", который содержит 2 параметра:
1: dateRanges» : массив NSDate
2: Время работы:. целое число
Я пытаюсь выяснить, как отсортировать этот массив StatDetails первым элементом массива dateRanges
Я пытался с этим, но без успеха:
selectedMarks.sortInPlace({ $0.dateRanges < $1.dateRanges })
Любая помощь с этим ??
если вы хотите отсортировать по первому элементу в массиве диапазонов дат, вы должны дать ему индекс так: '{$ 0.dateRange [0] <$ 1.dateRanges [0]} ' – fqdn
@fqdn Я пробовал это раньше, но получаю ошибку компиляции' Не могу вызвать 'sort' с помощью списка аргументов типа '((_, _) -> _)' ' – Ruben
Возможный дубликат http://stackoverflow.com/questions/26577496/how-do-i-sort-a-swift-array-contains-instance-of-nsmanagedobject-subclass-by: Вы должны сравнить даты с 'compare()' или реализовать протокол 'Comparable' для NSDate. –