同步保存到parse.com时进度条

时间:2015-03-04 20:27:15

标签: ios parse-platform synchronous uiprogressview uiprogressbar

当我将同步保存到parse.com时,任何人都知道如何显示UIProgressView吗?

我尝试在开始同步保存之前显示进度视图,并在保存完成后隐藏它,但这不起作用。它没有显示进度视图,只是马上开始保存。

我开始认为同步保存从其他所有内容中获取所有功能,并且异步保存是此问题的最佳选择。但在我的情况下,我必须保存同步,因为我保存后直接显示保存的数据。

任何人都知道如何做到这一点?

self.startProgress()
self.saveSynchronousToParse()
self.stopProgress()

1 个答案:

答案 0 :(得分:3)

A'同步'方法也称为“阻止”方法。方法 - 它有效地阻止当前线程直到它完成。

默认情况下,您的应用程序在主队列中运行,这是执行所有UI任务的队列,因此一旦您调用" saveSynchronousToParse" (可能会调用save或类似的同步Parse函数)您的UI将冻结,直到任务完成。您可能会在控制台中收到一条警告,指出您正在主线程上执行同步任务。

在这种情况下,进度视图并不合理,因为您无法从Parse API获得有关保存信息的进度的任何反馈。

UIActivityView更有意义。使用UIActivityView

后,您可以使用以下内容来实现目标
self.activityView.startAnimating()

self.somePFObject.saveInBackgroundWithBlock { 
(success: Bool!, error: NSError!) -> Void in
    dispatch_async(dispatch_get_main_queue(),{
       self.activityView.stopAnimating()
    });
    if success {
        println("success")
    } else {
        println("\(error)")
    }
}