ios – 如何通过在CloudKit中的creationDate进行查询?

前端之家收集整理的这篇文章主要介绍了ios – 如何通过在CloudKit中的creationDate进行查询?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从CloudKit获取最后十分钟的公共/私人条目.

我尝试了一些这样的效果,但失败了:

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

谢谢.

解决方法

发现自己的问题
您需要登录CloudKit仪表板,并勾选此复选框.

一旦检查,您将能够按日期查询

let date = NSDate(timeInterval: -60.0 * 120,sinceDate: NSDate())
let predicate = NSPredicate(format: "creationDate > %@",date)

以下是可以用于CloudKit的NSPredicate类型的更详细的文档:
https://developer.apple.com/library/prerelease/ios/documentation/CloudKit/Reference/CKQuery_class/index.html#//apple_ref/doc/uid/TP40014043-CH1-SW8

猜你在找的iOS相关文章