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

我正在debugging我的iOS应用程序,因为我有一个视图推/撤销呼叫,我想确保我没有任何意见,在我的堆栈,我不希望。 是否有可能在Xcodedebugging器中看到这个?

你可能会发现lldb用'recursiveDescription'来拯救。 只需在您对视图层次感兴趣的地方设置一个断点即可。 例如,如果你想在窗口中的一切,你可以键入

(lldb) po [[[[UIApplication sharedApplication] windows] firstObject] recursiveDescription] 

另外,我经常发现,在debugging视图时,我最感兴趣的是特定视图的层次结构。 在这种情况下,您可以直接在您感兴趣的代码(例如viewDidAppear:方法)中键入以下内容:

 (lldb) po [self.view recursiveDescription] 

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

由于所有的视图控制器都应该由导航控制器来pipe理,所以你应该可以这样做:

 NSArray * controllerArray = [[self navigationController] viewControllers]; for (UIViewController *controller in controllerArray){ //Code here.. eg print their titles to see the array setup; NSLog(@"%@",controller.title); } 

采取从这里: 如何迭代应用程序的所有UIViewControllers