1

我有一个将带有图像的记录保存到 CloudKit 的功能。

一切都按预期工作,并且记录被保存和获取而没有问题。

我想显示上传进度以获得更好的用户体验,但是当我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)
}

这是保持进展“顺利”的任何方式吗?喜欢以某种方式使用completionHandler?

欢迎提示。

感谢:D

4

0 回答 0