繁体   English   中英

CloudKit记录保存进度

[英]CloudKit records saving progress

我想保存事件和图像(用于事件)记录。 我想在UI中显示上传进度。 事件是带有文本和位置的小对象。 图像是带有UIImage的大对象。

图像记录是数组中的第一项,事件是第二项。

我创建CKModifyRecordsOperation并将两个CKRecord对象设置为recordsToSave

比我设置perRecordProgressBlock

[operation setPerRecordProgressBlock:^(CKRecord *record, double progress) {
    NSLog(@"#record: %@ progress: %f", record.recordType, progress);
}];

perRecordCompletionBlock

[operation setPerRecordCompletionBlock:^(CKRecord *record, NSError *error) {
    NSLog(@"#recordSaved: %@ e: %@", record.recordType, error);
}];

我希望看到两条记录都有很多进度,例如:

#record: ImageRecord progress: 0.050000
#record: ImageRecord progress: 0.100000
#record: ImageRecord progress: 0.150000
             ...
#record: ImageRecord progress: 1.000000
#recordSaved: ImageRecord e: (null)
#record: EventRecord progress: 0.050000
             ...
#record: EventRecord progress: 1.000000
#recordSaved: EventRecord e: (null)

但实际上在控制台输出中,我看到:

#record: ImageRecord progress: 0.000000
#record: ImageRecord progress: 0.447357
#record: ImageRecord progress: 1.000000
#record: ImageRecord progress: 1.000000
#recordSaved: Event e: (null)
#recordSaved: ImageRecord e: (null)

我该怎么办?

CKModifyRecordOperation的文档指出:操作对象对recordsToSave属性中的每个记录执行此块零次或多次。

因此,如果对象的保存操作花费的时间很少,则可能会发生进度回调的情况。 据我所知,没有办法影响进度通知的频率。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM