カメラロールから画像を削除できるセカンダリビューコントローラーがあります。問題は、completionHandler が想定どおりに起動することですが、popViewController は実際には約 8 秒間実行されていないようです。オプションの出力を見ることができるので、間違いなく起動します。そして、ポップを実行するだけで確認したところ、正しく実行されました。viewWillDisapear イベントを確認したところ、同様に遅く発生しました。これは、ナビゲーション コントローラーがビューの現在の viewController をまだポップしていないことを考慮して予想していました。
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
PHAssetChangeRequest.deleteAssets(assetsToDelete)
return
}, completionHandler: { success, error in
if success {
println("success")
println(navigationController.popViewControllerAnimated(true))
println("so slow")
}
if let error = error {
println(error)
}
return
})