gpt4 book ai didi

xcode - 奇怪的 NSOutlineView 崩溃

转载 作者:行者123 更新时间:2023-12-03 16:21:08 26 4
gpt4 key购买 nike

我在 NSOutlineView 中遇到奇怪的崩溃:当我单击“折叠”按钮时,应用程序立即崩溃,甚至“异常断点”也无助于找出问题所在。

我尝试在没有调试器的情况下运行应用程序,并重现了该问题。一旦应用程序崩溃,我就会看到 OSX 崩溃窗口,并能够从那里提取崩溃消息:

窗口已被标记为需要窗口传递中的另一个更新约束,但窗口传递中的更新约束已经多于窗口中的 View

还有调用堆栈,但由于 libsystem_c.dylib 内部发生崩溃,因此它不会有帮助,所以我不会将其发布在这里。

自动布局似乎有问题。完全不知道接下来的步骤。请给我一个建议!

此外,还有一件事是在更新到 OSX Mojave 后才开始的。

最佳答案

经过几个小时的调试和测试,我注意到该消息是由“无限布局循环”引起的。

与大纲 View 相关的不同代码导致 NSSplitView 布局。委托(delegate)方法 - (CGFloat) splitView:(NSSplitView*)sender constrainMinCooperative:(CGFloat)proposeMinimumPosition ofSubviewAt:(NSInteger)dividerIndex 在崩溃之前已被调用大约 200 次。

很难捕捉到这个问题,因为它实际上并不是无限递归,所以仅仅调试器并没有多大帮助。我刚刚添加了简单的代码来帮助我识别问题:

静态 int a = 0;
NSLog(@"布局:%d", a++);

希望我的经验对其他人有帮助!

关于xcode - 奇怪的 NSOutlineView 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52847789/

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