Действительно стоило бы получить некоторую поддержку.
Я разрабатываю приложение для tvOS, которое отображает определенное содержимое CloudKit в табличном представлении, данные отличаются в зависимости от текущей даты.
Каждая календарная дата соответствует данным в этом типе.
например. RecordType "A13032019" относится к 13 марта 2019 года.
Я генерирую дату в правильном формате, используя функцию, запускаемую в ViewDidLoad (generateDate ():
*
func generateDate () {
let formatter = DateFormatter()
//2016-12-08 03:37:22 +0000
formatter.dateFormat = "ddMMyyyy"
let now = Date()
let dateString = formatter.string(from:now)
NSLog("%@", dateString)
let generateOperationalDate = ("A\(dateString)")
print(generateOperationalDate)
}
Затем я пытаюсь использовать generateOperationalData для запуска в следующем CKQuery:
func queryDatabase () {
let query = CKQuery(recordType: "\(generateDate())", predicate: NSPredicate(format: "TRUEPREDICATE", argumentArray: nil))
let sort = NSSortDescriptor(key: "trainDepartureTime", ascending: true)
query.sortDescriptors = [sort]
database.perform(query, inZoneWith: nil) { (records, _) in
guard let records = records else { return }
let sortedRecords = records
Когда я пытаюсь запустить это, выдается ошибка потока с причиной «* Завершение приложения из-за необработанного исключения« CKException », причина:« recordType не может быть пустым »
* "
Так что мне кажется, что функция queryDatabase работает перед функцией generateDate, однако я попытался отложить функцию queryDatabase, и это все равно вызывает ту же ошибку!
Можно ли в любом случае сгенерировать дату (с помощью generateDate) до запуска функции queryDatabase?
Спасибо