Сортиране на заявката по дата

Имам списък с елементи в CloudKit. Получавам данните добре, но бих искал да сортирам tableview елемента по дата.

По-конкретно, бих искал да покажа само елементите, чиято дата е равна или по-голяма от днешната (now).

TableViewController:

override func viewDidLoad() {
    super.viewDidLoad()

    let now = NSDate()

    let container = CKContainer.defaultContainer()
    let publicData = container.publicCloudDatabase

    let query = CKQuery(recordType: "Play", predicate: NSPredicate(format: "TRUEPREDICATE", argumentArray: nil))
    publicData.performQuery(query, inZoneWithID: nil) { results, error in
        if error == nil { // There is no error
            for play in results! {
                let newPlay = Play()

                newPlay.color = play["Color"] as! String
                newPlay.datetime = playoffs["DateTime"] as! AnyObject

                self.objects.append(newPlay)

                dispatch_async(dispatch_get_main_queue(), { () -> Void in
                    self.tableView.reloadData()
            })
            }
        }
        else {
            print(error)
        }
    }
}

Всяка помощ ще бъде наистина оценена, благодаря!

РЕДАКТИРАНЕ

Добавено: let predicate = NSPredicate(format: "DateTime > %@", now)

Заменено: let query = CKQuery(recordType: "Play", predicate: NSPredicate(format: "TRUEPREDICATE", argumentArray: nil)) с let query = CKQuery(recordType: "Play", predicate: predicate)

Има ли логика в това?

РЕДАКТИРАНЕ 2

Ето как изглежда сега:

    let sort = NSSortDescriptor(key: "DateTime", ascending: true)

    let query = CKQuery(recordType: "Play", predicate: predicate)
    query.sortDescriptors = [sort]
    publicData.performQuery(query, inZoneWithID: nil) { results, error in

Правилно ли изглежда?


person SRMR    schedule 19.09.2015    source източник
comment
Променете предиката, за да върнете само желаните записи.   -  person rmaddy    schedule 20.09.2015
comment
Вижте: stackoverflow.com/questions /26521999/   -  person Tillson    schedule 20.09.2015
comment
@rmaddy има ли смисъл това, което актуализирах в моето РЕДАКТИРАНЕ? Изглежда, че работи за мен, но не знам дали го правя погрешно и ще се повреди по-късно или нещо подобно. Благодаря!   -  person SRMR    schedule 20.09.2015
comment
@Tillson благодаря! Мисля, че това ми помогна, правилно ли ви изглежда това, което редактирах?   -  person SRMR    schedule 20.09.2015
comment
@rmaddy премахва обекти, които не са по-големи от днешната дата; но не сортира обектите, по-големи от днешната дата, по техните дати. Това е частта, на която съм заседнал.   -  person SRMR    schedule 20.09.2015
comment
@Tillson има ли някакви връзки за това как да сортирате обектите, по-големи от днешната дата, по техните дати? Имам частта, в която показва само обекти, по-големи от днешната дата досега   -  person SRMR    schedule 20.09.2015
comment
Сортирайте масива по дата, след като имате всички записи.   -  person rmaddy    schedule 20.09.2015
comment
@rmaddy Правилно ли изглежда това, което поставих в EDIT2, или трябва да направя сортирането по-късно, например след self.objects.append(newPlay) или нещо подобно?   -  person SRMR    schedule 20.09.2015
comment
Трябва да извършите сортирането и да презаредите таблицата, след като цикълът for приключи.   -  person rmaddy    schedule 20.09.2015
comment
Значи това, което поставям там, ще ми създаде проблеми? Защото проработи, но очевидно не знам какви странни грешки дебнат зад ъгъла с това как/къде съм го поставил. Предполагам, че кодът за сортиране, където казвате, е различен, един ред, знаете ли какво би било? И тогава, след като имам този ред за сортиране, трябва да се уверя, че сортирането и презареждането се извършват извън скобите за цикъл?   -  person SRMR    schedule 20.09.2015