获取超过24小时的iCloudKit记录

时间:2016-06-27 18:19:39

标签: swift date icloud predicate

抱歉有一个愚蠢的简单问题。我想列出所有超过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字节?

1 个答案:

答案 0 :(得分:0)

好的,我想我找到了问题的答案。这段代码很好;我的错误是在选择记录时只选择了recordID。我也需要选择元数据。

readerOperation = CKQueryOperation(query:query)         readerOperation.desiredKeys = [&#34; record.recordID.recordName&#34;,&#34; record.creationDate&#34;];

    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)")
            }


    }