sma*_*8dd 7 breakpoints objective-c uiviewcontroller ios swift
有时会发生这种情况 - 从代码中的不同位置 - 我们想要做的UIViewController.presentViewController(a, b, c),有时我们已经提出了这种情况,在这种情况下我们得到:
Warning: Attempt to present * on * which is already presenting *
有可能打破这个警告吗?我该如何为此设置断点?
Cri*_*tik 11
首先,您需要设置一个符号断点-[UIViewController presentViewController:animated:completion:].您可以通过Xcode的Add Symbolic Breakpoint功能轻松添加.
其次,您需要设置一个条件,以便仅在视图控制器已经呈现某些内容时才会触发断点.从程序上来说,这意味着该presentedViewController属性是非零的.这里的技巧是访问self传递给任何方法调用的隐式参数,这可以通过使用$arg1(这里有更多详细信息 )来完成.一旦你有了这个,其余的很容易.
以下是断点的外观:

综上所述:
符号:-[UIViewController presentViewController:animated:completion:]
条件:[(UIViewController *)$arg1 presentedViewController] != nil