如何在Interface Builder预览时查看打印调试信息?iOS/Xcode
关于Interface Builder预览时的视图代码执行与调试输出查看
嘿,这个问题问到点子上了!我平时调试自定义视图的时候也经常碰到类似的情况,这就给你拆解清楚:
1. Interface Builder预览时是否会执行视图代码?
答案是肯定的。当IB生成ViewController的预览时,它需要真实渲染出视图的最终样子,所以会触发视图控制器和自定义视图里的核心生命周期方法——比如视图控制器的viewDidLoad,自定义视图的init(coder:)(因为IB是从xib/storyboard加载视图的)、draw(_:)这些方法都会被执行。你在自定义视图里加的print("draw() was executed")这类调试代码,自然也会在这个渲染过程中运行。
2. 怎么查看这些print输出?
想要捕捉到这些调试内容,用好Xcode的控制台就够了:
- 先调出控制台面板:如果Xcode底部没显示控制台,用快捷键
Shift + Command + C就能快速打开,或者点击底部工具栏里带>符号的「Show Console」按钮。 - 过滤日志精准定位:默认控制台会混杂很多系统日志,你可以在顶部搜索框直接输入你打印的内容(比如
draw() was executed),就能立刻找到你的调试输出,不会被无关日志干扰。 - 小技巧:刷新IB预览的时候,保持控制台处于激活状态,对应的输出会实时显示出来,不用特意切换进程~
内容的提问来源于stack exchange,提问作者Nerdy Bunz
相关产品推荐
相关产品推荐

