gpt4 book ai didi

ios - CloudKit 仅获取第一条记录

转载 作者:搜寻专家 更新时间:2023-10-31 22:22:17 25 4
gpt4 key购买 nike

我想知道如何从 CloudKit 表中获取第一条记录。例如,我有一个“类”表,我只想获取最后修改的类,而不是像现在这样获取所有类:

let pred = NSPredicate(format: "Students CONTAINS %@", studentRecord)
var query = CKQuery(recordType: "Class", predicate: pred)
publicDB.performQuery(query, inZoneWithID: nil) {
records, error in
if error != nil {
println("\(error)")
} else {
if records.count > 0 {
for record in records {
println("\(record)")
}
}
}
}

最佳答案

嗯,对于您的特定场景,您需要两件事。

  1. 在“已修改”上添加排序,这是 Apple 在每条记录上生成的字段。
  2. 您需要使用 CKQueryOperation 对您的 CKQuery 施加 LIMIT。

您的代码应如下所示:

let pred = NSPredicate(format: "Students CONTAINS %@", studentRecord)
var query = CKQuery(recordType: "Class", predicate: pred)
let sort = NSSortDescriptor(key: "Modified", ascending: false)
query.sortDescriptors = [sort]
var queryOperation = CKQueryOperation (query: query)
queryOperation.resultsLimit = 1
queryOperation.recordFetchedBlock = {
record in
println("\(record)")
}
queryOperation.queryCompletionBlock = {
queryCursor, error in
if error != nil {
println("\(error)")
}
}
publicDB.addOperation(queryOperation)

关于ios - CloudKit 仅获取第一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31888424/

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