[英]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.