Запрос CloudKit по самой старой измененной записи

Я работаю с CloudKit и пытаюсь разделить записи по "modifyDate", но заполню лимит моих результатов, начиная с самого старого. Например, если у меня есть 4 записи, созданные mon, tues, wed, thurs, и я выбираю только две из них, я получу запись mon, tues, а не wed thurs. Ниже приведен код, который я пытаюсь исправить.

func fetchRecentModified() {

   let predicate = NSPredicate(value: true)
   let sort = NSSortDescriptor(key: "votes", ascending: true)
   let query = CKQuery(recordType: "Dog", predicate: predicate)
   query.sortDescriptors = [sort]
   let operation = CKQueryOperation(query: query)
   operation.resultsLimit = recordFetchMax

   operation.recordFetchedBlock = { (record) in
       VoteQueue.sharedInstance.append(record)

   }

   operation.queryCompletionBlock = { (cursor, error) in
       dispatch_async(dispatch_get_main_queue()) {
           if error == nil {
               print("There is no error fetching records \(recordFetchMax)")
               print(VoteQueue.sharedInstance)
               API.shared.flagRecords(VoteQueue.sharedInstance)

           } else {
               print("There was a problem fetching the list of dogs please try again")
               print(error)
           }
       }
   }
   self.database.addOperation(operation)

}

Я подумал, что это будет так же просто, как пометка NSSortDescriptor восходящий к ложному. Но это не сработало (после дополнительного тестирования я обнаружил, что он будет возвращать только записи, которые имеют значение 0 для выбранного поля).

Кроме того, я попробовал несколько различных сравнений предикатов безрезультатно Какие-нибудь мысли? Я готов навсегда отказаться от CloudKit.

0 ответов

Другие вопросы по тегам