我有一个将带有图像的记录保存到 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