async API - CKQuery не применяет дескрипторы сортировки

Я обнаружил, что асинхронная функция CKQuery не применяет SortDescriptors к результатам. Они возвращаются в произвольном порядке. Правильно ли это применяется?

          func fetchNoteCloudKit() async throws {
        
        //setup CloudKit settings
        let container = CKContainer(identifier: "myContainerName")
        let recordType = "Records"
        let sortedBy = [NSSortDescriptor(key: "FieldA", ascending: true),NSSortDescriptor(key: "FieldB", ascending: true)]
        let sort1 = NSSortDescriptor(key: "FieldA", ascending: true)
        let sort2 = NSSortDescriptor(key: "FieldB", ascending: true)
        let thisPred = NSPredicate(value: true)
        
        let query = CKQuery(recordType: recordType, predicate: notePred)
      //query.sortDescriptors = sortedBy //NOT SORTING RIGHT FOR SOME REASON
        query.sortDescriptors = [sort1, sort2] //still not sorting

        let result  = try await container.privateCloudDatabase.records(matching: query)
                
        for rec in result.0 {
            print("RECORD: \(try String(describing: rec.value.get()["FieldA"]))")
        }
    }

Как указано, я пробовал использовать оба дескриптора сортировки вместе и по отдельности, похоже, это не имеет никакого значения.

0 ответов

Другие вопросы по тегам