在Xcode中调试时,我可以在应用程序中看到我的视图层次结构吗?

Vin*_*613 1 xcode objective-c uiview ios

我正在调试我的iOS应用程序,因为我有一个视图push/dismiss调用,我想确保我的堆栈中没有任何我不希望的视图.是否可以在Xcode调试器中看到这个?

Dan*_*sko 8

您可能会发现lldb通过'recursiveDescription'来解救.只需在您对视图层次结构感兴趣的位置设置断点.例如,如果您想要窗口中的所有内容,则可以键入

(lldb) po [[[[UIApplication sharedApplication] windows] firstObject] recursiveDescription]
Run Code Online (Sandbox Code Playgroud)

或者,我经常发现在调试视图时,我最感兴趣的是特定视图的层次结构.在那种情况下,您可以直接挂接到您感兴趣的代码中的点(例如viewDidAppear:方法)并键入:

(lldb) po [self.view recursiveDescription]
Run Code Online (Sandbox Code Playgroud)

注意:使用Xcode 6 Apple添加了实时视图调试,您可以从调试栏访问它.实时视图调试Xcode 6