当我将同步保存到parse.com时,任何人都知道如何显示UIProgressView吗?
我尝试在开始同步保存之前显示进度视图,并在保存完成后隐藏它,但这不起作用。它没有显示进度视图,只是马上开始保存。
我开始认为同步保存从其他所有内容中获取所有功能,并且异步保存是此问题的最佳选择。但在我的情况下,我必须保存同步,因为我保存后直接显示保存的数据。
任何人都知道如何做到这一点?
self.startProgress()
self.saveSynchronousToParse()
self.stopProgress()
答案 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)")
}
}