2016-08-31 7 views

答えて

5

最初にまず記号的なブレークポイントを-[UIViewController presentViewController:animated:completion:]に設定する必要があります。これはXcodeのAdd Symbolic Breakpoint機能で簡単に追加できます。

第2に、ビューコントローラが既に何かを提示しているときにのみブレークポイントがヒットするように条件を設定する必要があります。プログラム的に言えば、これはpresentedViewControllerプロパティがnilでないことを意味します。ここでのトリックは、$arg1(詳細はhere)を使用して実行できるself暗黙のパラメータにアクセスすることです。これを済ませたら、残りは簡単です。

はここでブレークポイントは次のようになります方法は次のとおりです。要するに

Breakpoint

記号:-[UIViewController presentViewController:animated:completion:]
条件:[(UIViewController *)$arg1 presentedViewController] != nil

+0

右!私はpresentViewControllerを呼び出してどこでも、presentViewControllerをコード内のチェックしたくないと思っていました。そのif-checkをブレークポイントの条件として使うことができます。驚くばかり!それが動作することを確認するだけです。 – smat88dd

+0

$ arg1についてのあなたのリンクにも感謝します – smat88dd

関連する問題