gpt4 book ai didi

ios - 在 Swift 中使用 CloudKit 获取记录

转载 作者:行者123 更新时间:2023-11-28 09:20:18 30 4
gpt4 key购买 nike

我尝试使用 CloudKit 获取记录。我使用 Apple 的示例。

我可以保存记录,但我无法获取它们..

这是获取已保存记录的代码:

func fetchRecords(completionHandler: ((NSArray!) -> Void)!) {
var predicate = NSPredicate(value: true)
var query = CKQuery(recordType: "type", predicate: predicate)
/*self.publicDatabase.performQuery(query, inZoneWithID: nil, { (results:[AnyObject]!, error:NSError!) -> Void in
if (error){
println("An error occured in \(NSStringFromSelector(__FUNCTION__)) \(error)");
} else {
completionHandler(results)
}
})*/

var operation = CKQueryOperation(query: query)

var results = NSMutableArray()

operation.recordFetchedBlock = { (record:CKRecord!) -> Void in
results.addObject(record)
}

operation.queryCompletionBlock = { (cursor:CKQueryCursor!, error:NSError!) -> Void in
dispatch_async(dispatch_get_main_queue(), { () -> Void in
if (error) {
// Error Code 11 - Unknown Item: did not find required record type
if (error.code == 11) {

// Since schema is missing, create the schema with demo records and return results

}
else {
// In your app, this error needs love and care.
println("An error occured in \(NSStringFromSelector(__FUNCTION__)): \(error)");
abort();
}
} else {
completionHandler(results)
}
})
}

self.publicDatabase.addOperation(operation)
}

当我运行它时,“abort()”被调用并且我在控制台中得到它:

获取记录时发生错误:

感谢大家的帮助。

最佳答案

我认为问题在于您创建谓词的方式。未指定要查询的列/属性。

代替:

var predicate = NSPredicate(value: true)

你应该按照以下方式做一些事情:

var predicate = NSPredicate(format: "someColumn == true")

关于ios - 在 Swift 中使用 CloudKit 获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233735/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com