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 как-то?

Советы приветствуются.

Спасибо

0 ответов

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