将文件上载到Parse Cloud时,进度块过早达到100%

时间:2014-11-25 12:54:38

标签: ios objective-c upload parse-platform completion

正如文档所示,我正在向Parse上传一个文件。

[imageFile saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {

} progressBlock:^(int percentDone) {
// Update your progress spinner here. percentDone will be between 0 and 100.
HUD.progress = (float)percentDone/100;
}]

进程块被调用100次,我更新了看起来没问题的HUd。问题是10秒后调用完成块,最后一次调用进度块时值为100。 / p>

因此,hud在屏幕上保持100%,并在调用完成块后10秒后移除。

我怀疑是否通过估算独立于上传过程来调用进度块。

P.S我上传的文件类似于2.35 MB。

2 个答案:

答案 0 :(得分:0)

尝试HUD.progress = (float)percentDone/100.0;

答案 1 :(得分:-1)

完成上传的客户端应用程序和完成上传处理的Parse服务器之间可能存在延迟,并发送确认成功保存的响应。我不相信有一种方法可以确定此处理的进度,但您可以尝试减少显示的进度以允许此操作。例如:

HUD.progress = (float)percentDone*0.9/100;

这样它将增加到90%并显示,直到Parse服务器返回。或者您可以检查percentDone == 100并显示其他消息,例如"处理..."。