Я пытаюсь отсортировать массив, как изложенный в принятом ответе на этот вопрос, но я столкнулся с проблемой, которую Isuru упоминает в комментариях к этому вопросу ответ. А именно, код, который должен сортировать массив по атрибуту "дата" объекта, приносит жалобу компилятора "не удалось найти дату участника"
Вот подкласс NSManagedObject, описывающий объект:
import Foundation
import CoreData
@objc(Entry)
class Entry: NSManagedObject {
@NSManaged var date: NSDate
@NSManaged var reflections: AnyObject
@NSManaged var contactComment: NSSet
@NSManaged var person: NSSet
override func awakeFromInsert() {
let now:NSDate = NSDate()
self.date = now;
}
}
И вот код, который пытается отсортировать массив:
lazy var entries:[Entry] = {
var days:[Entry] = self.managedObjectContext!.requestEntity("Entry")as [Entry]
days.sort({$0.date < $1.date})
var today:Entry = days.last!
println(today.date)
return days
}()
Обратите внимание, что во второй части этого кода я могу получить доступ и зарегистрировать свойство "date" для одной из записей, а у компилятора нет проблем с ним.
Является ли мой синтаксис для правильной сортировки? Есть ли другая проблема с этим кодом, который я не вижу?