获取超过 24 小时的 iCloudKit 记录
Fetching iCloudKit records older than 24 hours
很抱歉有一个愚蠢简单的问题。我想列出所有创建时间超过 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 小时的记录。我的记录只包含一个字段,那就是资产。开始认为这部分是我的问题...
部署后的索引大小看起来不太乐观,是吗? 0 字节?
好的,我想我找到了问题的答案。这段代码很好;我的错误是在选择记录时 select 只输入了记录 ID。我也需要 select 元数据。
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)")
}
}
很抱歉有一个愚蠢简单的问题。我想列出所有创建时间超过 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 小时的记录。我的记录只包含一个字段,那就是资产。开始认为这部分是我的问题...
部署后的索引大小看起来不太乐观,是吗? 0 字节?
好的,我想我找到了问题的答案。这段代码很好;我的错误是在选择记录时 select 只输入了记录 ID。我也需要 select 元数据。
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)")
}
}