2017-11-13 19 views
0

完了ブロックを呼び出す前にviewDidDisappear後にCATransaction待機しますか?iOSは完了ブロックを呼び出す前にviewDidDisappear後にトランザクション待機を待ちます

CATransaction.begin() 
    view_controller.navigationController?.popViewController(animated: false) 
    CATransaction.setCompletionBlock { 
     self.call_some_function() 
    } 
    CATransaction.commit() 

view_controllerは、カスタムviewDidDisappear機能を持っている場合は、そのviewDidDisappear機能の実行が終了した後に実行)(self.call_some_functionでしょうか?

ブレークポイントを設定しようとしましたが、viewDidDisappearが完了ブロックの前に実行されたことが判明しました。ドキュメントを見つけることができないため、この動作が常に予測可能かどうかはわかりません。

+0

前に完了ブロックをSETING試してみてください、あなたは試してみて、あなたの結果は何ですかましたか? –

+0

が更新されました。はい、viewDidLoadは完了ブロックの前に実行されます。 –

答えて

0

はポップ・ビュー・コントローラ

CATransaction.begin() 
CATransaction.setCompletionBlock { 
    self.call_some_function() 
} 
view_controller.navigationController?.popViewController(animated: false) 
CATransaction.commit() 

または

CATransaction.setCompletionBlock { 
    self.call_some_function() 
} 
CATransaction.begin() 
view_controller.navigationController?.popViewController(animated: false) 
CATransaction.commit() 
関連する問題