0

正如文档所建议的那样,我正在将一个文件升级到 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 的进度块时。

结果,hud 以 100 % 的速度保留在屏幕上,并在 10 秒后调用完成块时移除。

我怀疑进度块是否独立于估计的上传过程而被调用。

PS我上传的文件是2.35 MB。

4

2 回答 2

0

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

于 2014-11-25T16:41:36.683 回答
-1

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

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

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

于 2014-11-25T13:11:01.530 回答