ios – Xcode – 是否可以在Interface Builder的Live Rendering进程(IBDesignable)中调试崩溃?

是否可以设置Xcode / Interface Builder的Live Rendering执行的断点和调试代码?也就是说,我使用IBDesignable和IBInspectable属性来影响视图,因为它在界面构建器故事板中呈现,并且希望能够调试“IB崩溃”错误.我不记得从WWDC会话,除了prepareForInterfaceBuilder部分.

上下文

我最近开始看到一些错误报告,IB尝试渲染我的代码时崩溃.我最终将其从一个与故事板链接的视图中追溯到了layoutSubviews中的其他无辜的代码行.在设置所有视图的子视图属性(这本身就是一个单独的问题)之前,将IB渲染实时视图的具体问题称为layoutSubviews.这与模拟器和设备形成对照,其中,在第一次调用layoutSubviews之前设置了视图.长篇小说虽然如此,它涉及到分散一堆文件来找到有争议的变化.只要能够设置断点和陷阱崩溃,我可以快速找到问题.

有没有人知道如何调试和/或通常陷阱这些问题,还是访问还没有可用?

解决方法

我再次观看了WWDC视频(§411@ 22:00左右).你必须

>编辑IB中的视图,并将其定义为代码库中的类的自定义
>根据您的自定义类中的需要设置断点
>在IB中选择视图,然后选择编辑器 – > “调试选择视图”(底部)

奇怪的是,在今天的测试中,它是通过(initWith)Frame而不是(initWith)Coder来创建我的视图.这导致随后的约束配置逻辑失败,因为子视图尚未设置(因为它们将被“withCoder”调用).

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...