CloudKit - процесс сохранения записи не выполняется должным образом
У меня есть функция, которая сохраняет запись с изображением в CloudKit.
Все работает как положено, и записи сохраняются и извлекаются без проблем.
Я хочу показать прогресс загрузки для лучшего UX, но когда я печатаю прогресс в моем operation.perRecordProgressBlock {}
выход приходит как
0.0
0.097003
0.990101
1.0
Таким образом, прогресс идет от 0,1% до 99% подряд.
Я ожидал что-то вроде 10%, 20% и так далее...
Код сохраненной записи используется следующим образом:
func savePost(_ xrecord: CKRecord) {
let publicData = CKContainer.default().publicCloudDatabase
let record: [CKRecord] = [xrecord] // array with a single object
let saveOperation = CKModifyRecordsOperation.init(recordsToSave: record, recordIDsToDelete: nil)
saveOperation.perRecordProgressBlock = {(_, progress) -> Void in
print("\(Float(progress))")
}
saveOperation.perRecordCompletionBlock = {(record, error) -> Void in
print("completed...")
}
publicData.add(saveOperation)
}
Есть ли способ сохранить прогресс "гладким"? Как использовать завершение Handler как-то?
Советы приветствуются.
Спасибо