gpt4 book ai didi

ios - Xcode - 是否可以调试 Interface Builder 的实时渲染过程 (IBDesignable) 中的崩溃?

转载 作者:IT王子 更新时间:2023-10-29 07:59:08 25 4
gpt4 key购买 nike

问题

Xcode/Interface Builder 的 Live Rendering 是否可以设置断点和调试代码?也就是说,我正在使用 IBDesignable 和 IBInspectable 属性来影响在界面构建器 Storyboard中呈现的 View ,并且希望能够调试“IB 崩溃”错误。除了关于 prepareForInterfaceBuilder 的部分,我不记得在 WWDC session 上有过这一点。

上下文

我最近开始看到一些错误,报告 IB 在尝试呈现我的代码时崩溃了。我最终将其追溯到从 Storyboard链接的我的一个 View 中的 layoutSubviews 中的一行无辜的代码。 IB 的具体问题 - 在渲染实时 View 时,在设置所有 View 的 subview 属性之前调用 layoutSubviews(这本身似乎是一个单独的问题)。这与模拟器和设备形成对比,在模拟器和设备中, View 是在第一次调用 layoutSubviews 之前设置的。长话短说,它涉及比较一堆文件以找到有问题的更改。可以说,如果可以设置断点并捕获崩溃,我可以很快找到问题。

有没有人想出如何调试和/或通常捕获这些问题,或者访问权限尚不可用?

最佳答案

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

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

奇怪的是,在我今天的测试中,它是通过 (initWith)Frame 而不是 (initWith)Coder 创建我的 View 。这会导致后续约束配置逻辑失败,因为尚未设置 subview (因为它们会“调用 withCoder”)。

关于ios - Xcode - 是否可以调试 Interface Builder 的实时渲染过程 (IBDesignable) 中的崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26368265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com