【发布时间】:2014-12-18 18:16:43
【问题描述】:
我想从 CloudKit 获取最后 X 分钟的公共/私人条目。
我尝试了这种效果,但失败了:
let date = NSDate(timeInterval: -60.0 * 120, sinceDate: NSDate())
let predicate = NSPredicate(format: "creationDate > %@", date)
但这会得到我的数据,但我不确定我是在查询所有内容还是只是为了某种上限:
let predicate = NSPredicate(value: true)
我希望能够在一定时间内进行查询。如果不做客户端的创建排序逻辑,这可能吗?
这是完整的代码块:
func fetchPublicData(completion: ((records:[AnyObject]) -> Void)!)
{
let date = NSDate(timeInterval: -60.0 * 120, sinceDate: NSDate())
let predicate = NSPredicate(format: "creationDate > %@", date)
let query = CKQuery(recordType: "MyDataRecordType", predicate: predicate)
let container = CKContainer.defaultContainer()
let publicDb = container.publicCloudDatabase
publicDb.performQuery(query, inZoneWithID: nil,
{
(results, error) in
if error != nil
{
self.handleError(error)
}
else
{
// do stuff
}
})
}
谢谢。
【问题讨论】:
-
aside:
Date(timeIntervalSinceNow: -60 * 120)是创建您正在使用的日期的另一种方式 - “120 分钟前”
标签: ios objective-c swift cloudkit