PHPhotoLibrary.sharedPhotoLibrary().performChanges 中的活动指示器动作缓慢
Posted
技术标签:
【中文标题】PHPhotoLibrary.sharedPhotoLibrary().performChanges 中的活动指示器动作缓慢【英文标题】:Activity indicator acting slow inside PHPhotoLibrary.sharedPhotoLibrary().performChanges 【发布时间】:2015-08-03 07:32:12 【问题描述】:我正在删除一些照片资产,我想在资产被删除时显示一个活动指示器,并在资产被删除但我的代码运行缓慢时停止它,你知道出了什么问题吗?
phphotoLibrary.sharedPhotoLibrary().performChanges(
PHAssetChangeRequest.deleteAssets(enumeration)
self.activityIndicator.startAnimating()
UIApplication.sharedApplication().beginIgnoringInteractionEvents()
, completionHandler: success, error in
if success
self.activityIndicator.stopAnimating()
UIApplication.sharedApplication().endIgnoringInteractionEvents()
println("Success")
else
self.activityIndicator.stopAnimating()
UIApplication.sharedApplication().endIgnoringInteractionEvents()
println("Error")
)
【问题讨论】:
【参考方案1】:我自己解决了,答案如下:
PHPhotoLibrary.sharedPhotoLibrary().performChanges(
PHAssetChangeRequest.deleteAssets(enumeration)
let delay = 1 * Double(NSEC_PER_SEC)
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
dispatch_after(time, dispatch_get_main_queue())
self.activityIndicator.startAnimating()
, completionHandler: success, error in
UIApplication.sharedApplication().beginIgnoringInteractionEvents()
if success
println("good")
dispatch_async(dispatch_get_main_queue())
self.activityIndicator.stopAnimating()
self.navigationController?.popToRootViewControllerAnimated(true)
UIApplication.sharedApplication().endIgnoringInteractionEvents()
else
println("bad")
dispatch_async(dispatch_get_main_queue())
self.activityIndicator.stopAnimating()
UIApplication.sharedApplication().endIgnoringInteractionEvents()
)
只需要添加:
dispatch_async(dispatch_get_main_queue())
self.activityIndicator.stopAnimating()
【讨论】:
以上是关于PHPhotoLibrary.sharedPhotoLibrary().performChanges 中的活动指示器动作缓慢的主要内容,如果未能解决你的问题,请参考以下文章