同步保存到 parse.com 时的进度条
Progress bar while synchronous save to parse.com
有人知道我如何在同步保存到 parse.com 时显示 UIProgressView 吗?
我尝试在开始同步保存之前显示进度视图,并在保存完成后将其隐藏,但这不起作用。它不显示进度视图并立即开始保存。
我开始认为同步保存会占用其他所有内容的所有功能,而异步保存是解决此问题的最佳选择。但在我的情况下,我必须同步保存,因为我在保存后直接显示保存的数据。
有人知道如何做到这一点吗?
self.startProgress()
self.saveSynchronousToParse()
self.stopProgress()
'synchronous' 方法也称为 'blocking' 方法 - 它有效地阻塞当前线程,直到它完成。
默认情况下,您的应用程序在主队列中 运行,这是执行所有 UI 任务的队列,因此一旦您调用 "saveSynchronousToParse"(可能会调用save
或一些类似的同步解析函数)您的 UI 将冻结,直到任务完成。您可能会在控制台中收到一条警告,表明您正在主线程上执行同步任务。
在这种情况下,进度视图实际上没有意义,因为您不会从 Parse API 获得任何关于保存信息的进度的反馈。
A 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)")
}
}
有人知道我如何在同步保存到 parse.com 时显示 UIProgressView 吗?
我尝试在开始同步保存之前显示进度视图,并在保存完成后将其隐藏,但这不起作用。它不显示进度视图并立即开始保存。
我开始认为同步保存会占用其他所有内容的所有功能,而异步保存是解决此问题的最佳选择。但在我的情况下,我必须同步保存,因为我在保存后直接显示保存的数据。
有人知道如何做到这一点吗?
self.startProgress()
self.saveSynchronousToParse()
self.stopProgress()
'synchronous' 方法也称为 'blocking' 方法 - 它有效地阻塞当前线程,直到它完成。
默认情况下,您的应用程序在主队列中 运行,这是执行所有 UI 任务的队列,因此一旦您调用 "saveSynchronousToParse"(可能会调用save
或一些类似的同步解析函数)您的 UI 将冻结,直到任务完成。您可能会在控制台中收到一条警告,表明您正在主线程上执行同步任务。
在这种情况下,进度视图实际上没有意义,因为您不会从 Parse API 获得任何关于保存信息的进度的反馈。
A 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)")
}
}