У меня есть класс модели Event
.Сортировка массива NSDates с использованием функции сортировки
import Foundation
import MapKit
public class Event {
let id: Int
var title: String?
let status: String
let location: String
var description: String?
var latitude: CLLocationDegrees?
var longitude: CLLocationDegrees?
var startDate: NSDate?
var endDate: NSDate?
init(id: Int, location: String, status: String) {
self.id = id
self.location = location
self.status = status
}
}
Я получаю данные о событиях из веб-API как ответ JSON. Затем я создаю объекты Event
из разбора данных JSON и помещаю их в типизированный массив (var events = [Event]()
).
private func processEventData(data: JSON) {
var events = [Event]()
if let eventsArray = data.array {
for eventObj in eventsArray {
let event = Event(
id: eventObj["id"].int!,
location: eventObj["location"].string!,
status: eventObj["status"].string!
)
event.title = eventObj["title"].string
event.description = eventObj["description"].string
event.latitude = eventObj["lat"].double
event.longitude = eventObj["lng"].double
event.startDate = NSDate(string: eventObj["start"].string!)
event.endDate = NSDate(string: eventObj["end"].string!)
events.append(event)
}
}
}
Следующая Мне нужно отсортировать этот массив по значению startDate
собственности. Я попытался сортировать массив, используя новую стандартную библиотечную функцию Swift sort
вот так.
var orderedEvents = events.sort({ $0.startDate! < $1.startDate! })
Но странно я получаю следующее сообщение об ошибке.
не может ссылаться на «своего рода» со списком аргументов типа «((_, _) -> _)»
Я не понимаю, почему я не могу разобраться это так, потому что у меня есть напечатанное массив.
Любая идея, что я делаю неправильно здесь?
Я тоже был смущен неясной ошибка. Оказывается, это просто означает какую-то ошибку внутри закрытия, спасибо! – BradzTech