假设我有一个'物种'记录类型,其中包含由许多用户创建的公共记录.目前,我的查询检索"物种"的所有记录:
private func fetchSpecies() {
// Fetch Public Database
let publicDatabase = CKContainer.defaultContainer().publicCloudDatabase
// Initialize Query
let query = CKQuery(recordType: "Species", predicate: NSPredicate(format: "TRUEPREDICATE"))
// Configure Query
query.sortDescriptors = [NSSortDescriptor(key: "latinName", ascending: true)]
// Perform Query
publicDatabase.performQuery(query, inZoneWithID: nil) { (records, error) -> Void in
dispatch_async(dispatch_get_main_queue(), { () -> Void in
// Process Response on Main Thread
self.processResponseForQuery(records, error: error)
})
}
}
Run Code Online (Sandbox Code Playgroud)
如何只获取当前用户创建的记录(如设备所有者)?
谢谢!
我想使用Realm作为持久性模型来表示我的CloudKit公共数据库.这可能吗?
具体来说,我想使用CloudKit获取Realm数据模型并将其存储在我的CloudKit公共数据库中.
这将克服我每次将应用程序加载到内存时必须从CloudKit获取数据的当前问题.如果没有本地数据模型,当没有Internet连接时,由于没有持久性,因此不会获取任何数据.
如果应用程序已从内存中删除,则从CloudKit获取的应用程序中保存的任何数据也将从内存中删除.