2016-06-27 6 views
0

Извините, у меня есть глупый простой вопрос. Я хочу перечислить все созданные записи, которые старше 24 часов. Поле запроса для даты создания устанавливается на панели управления. У меня есть этот код ... но я, похоже, не могу решить эту проблему.Извлечение записей iCloudKit старше 24 часов

Я получил этот код ...

let container = CKContainer(identifier: "iCloud.blah") 
    let publicDB = container.publicCloudDatabase 
// 24 hours ago 
    let date = NSDate(timeInterval: -60.0 * 1440, sinceDate: NSDate()) 
    let predicate = NSPredicate(format: "creationDate < %@", date) 
    let query = CKQuery(recordType: "Collection", predicate: predicate) 

Но это заставляет меня все записи, которые были созданы в течение последних 24 часов; Я не хочу их, я хочу, чтобы все записи были старше 24 часов. Моя запись содержит только одно поле, и это актив. Начиная думать, что моя проблема в части ...

enter image description here

размер индекса, если развернуто не выглядит перспективным делает это? 0 байт?

ответ

0

Хорошо, я думаю, что нашел ответ на свою проблему. Этот код хорош; моя ошибка заключалась в выборе только идентификаторов записи, когда я выбирал записи. Мне также нужно было выбрать метаданные.

readerOperation = CKQueryOperation (запрос: запрос) readerOperation.desiredKeys = ["record.recordID.recordName", "record.creationDate"];

readerOperation.recordFetchedBlock = { (record) in 
     self.records2Erase.append(record.recordID) 
    } 
    readerOperation.queryCompletionBlock = {(cursor, error) in 
      if error != nil { 
       dispatch_async(dispatch_get_main_queue()) { 
        self.showAlert(message: error!.localizedDescription) 
       } 
      } else {     
       print("records2Erase since \(date) \(self.records2Erase)") 
      } 


    }