- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻求有关尝试使用 MRProgress 框架更新进度指示器的帮助。我能够设置进度指示器,但我不知道如何计算和更新其进度。我正在使用 CloudKit 并尝试在保存 CKRecord 时显示进度。有人可以给我一些指导吗?提前致谢!
self.hud = [MRProgressOverlayView showOverlayAddedTo:self.myCollectionView animated:YES];
self.hud.mode = MRProgressOverlayViewModeDeterminateCircular;
self.hud.titleLabelText = @"Uploading...";
// prepare the CKRecord and save it
[self.ckManager saveRecord:[self.ckManager createCKRecordForImage:self.imageDataAddedFromCamera] withCompletionHandler:^(CKRecord *record, NSError *error) {
if (!error && record) {
NSLog(@"INFO: Record saved successfully for recordID: %@", record.recordID.recordName);
// need to get the recordID of the just saved record before adding the CID to the CIDArray
self.imageDataAddedFromCamera.recordID = record.recordID.recordName;
[self.imageLoadManager addCIDForNewUserImage:self.imageDataAddedFromCamera]; // update the model with the new image
// update number of items since array set has increased from new photo taken
self.numberOfItemsInSection = [self.imageLoadManager.imageDataArray count];
//[MRProgressOverlayView dismissAllOverlaysForView:self.view animated:YES];
[self.hud dismiss:YES];
[self.hud removeFromSuperview];
} else {
NSLog(@"ERROR: Error saving record to cloud...%@", error.localizedDescription);
[self alertWithTitle:@"Yikes!" andMessage:@"We encountered an issue trying to upload your photo to the cloud."];
}
}];
更新:将 cloudkit 方法从便捷 API 转换为我的 CKManager 类中的 CKOperations。我可以通过日志记录看到进度更新,但我不知道如何将其返回到 View Controller 。如果我将其添加到完成处理程序中,那不是只有在一切完成后才将其发送回来吗?这是我更新的代码...
CKManager.h - (void)saveRecord:(NSArray *)records withCompletionHandler:(void (^)(NSArray *records))completionHandler;
CKManager.m - (void)saveRecord:(NSArray *)记录 withCompletionHandler:(void (^)(NSArray *))completionHandler {
NSLog(@"INFO: Entered saveRecord...");
CKModifyRecordsOperation *saveOperation = [[CKModifyRecordsOperation alloc] initWithRecordsToSave:records recordIDsToDelete:nil];
saveOperation.perRecordProgressBlock = ^(CKRecord *record, double progress) {
if (progress <= 1) {
NSLog(@"Save progress is: %f", progress);
}
};
saveOperation.completionBlock = ^ {
NSLog(@"Save operation completed!");
completionHandler(records);
};
[self.publicDatabase addOperation:saveOperation];
最佳答案
如果你想显示操作的进度,那么你必须使用 CKModifyRecordsOperation并使用 perRecordProgressBlock 方法。
关于ios - 使用 MRProgress 更新进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29376714/
我正在寻求有关尝试使用 MRProgress 框架更新进度指示器的帮助。我能够设置进度指示器,但我不知道如何计算和更新其进度。我正在使用 CloudKit 并尝试在保存 CKRecord 时显示进度。
文档不清楚如何在 Swift 中实现这个漂亮的库 我可以导入 MRProgress 并让模糊的overlayView出现,但我无法获取更新的进度 //尝试一:无法显示 View 或更改参数```` v
我是一名优秀的程序员,十分优秀!