不確定我對這段代碼做錯了什么,但資料拉取的排序不適用于任何資料變數。我需要按名稱排序,但現在它是隨機排序的。
func getStates(completionQueue: DispatchQueue = .main, completionHandler: @escaping (Result<[StateList], Error>) -> Void) {
var fetchedStates: [StateList] = []
let predicate = NSPredicate(value: true)
let sort = NSSortDescriptor(key: "name", ascending: true)
let query = CKQuery(recordType: "StateList", predicate: predicate)
let queryOperation = CKQueryOperation(query: query)
query.sortDescriptors = [sort]
queryOperation.recordMatchedBlock = { (recordID, recordResult) in
if let record = try? recordResult.get() as CKRecord {
var stateList = StateList(recordID: record.recordID)
stateList.recordID = record.recordID
stateList.id = record["id"] as? String ?? ""
stateList.name = record["name"] as? String ?? ""
stateList.initial = record["initial"] as? String ?? ""
fetchedStates.append(stateList)
print(record.recordID)
}
print("recordMatchedBlock")
}
queryOperation.queryResultBlock = { result in
DispatchQueue.main.async {
switch result {
case .success:
completionHandler(.success(fetchedStates))
case .failure(let error):
completionHandler(.failure(error))
}
}
}
database.add(queryOperation)
}
uj5u.com熱心網友回復:
你必須把;
query.sortDescriptors = [sort]
前
let queryOperation = CKQueryOperation(query: query)
像這樣;
query.sortDescriptors = [sort]
let queryOperation = CKQueryOperation(query: query)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/401298.html
上一篇:無法從圖庫中的視頻生成縮略圖
