如何通过调试跳过控制器

时间:2018-07-09 11:44:42

标签: ios swift xcode

是的,我们都知道navigationController?.pushViewController(vc, animated: true)用于推送控制器。我想问一下,有什么方法可以让我们跳到ViewController进行调试吗?

例如-

func jump() {
   let vc = ViewController(nibName: "ViewController",bundle: nil)//here breakpoint set
   //navigationController?.pushViewController(vc, animated: true)
}

我们可以动态地(使用调试或任何技术)取消对pushViewController的注释吗?

2 个答案:

答案 0 :(得分:1)

是的,可以使用

  1. let vc = ViewController(nibName: "ViewController",bundle: nil)//here breakpoint set处放置一个断点
  2. 单击“下一步”按钮进行调试,然后在调试窗口中将其粘贴 行使用po命令,然后按Enter。 po navigationController?.pushViewController(vc, animated: true)

,然后按一下调试的播放按钮。它将执行您的代码。

答案 1 :(得分:0)

对于问题的第二部分:您可以使用编译条件仅在某些目标中执行命令。 就像在MyApp-Debug中一样,但是在MyApp-Release中不会执行代码。

#if DEBUG
    navigationController?.pushViewController(vc, animated: true)
#endif

有关更多详细信息,请参考此线程: Swift: how to use PREPROCESSOR Flags (like `#if DEBUG`) to implement API keys?