3

我的应用程序在表格视图中搜索期间挂起。

对于它的价值,视图层次结构非常复杂,涉及弹出框以及过滤器和搜索栏等。我正在审查所有这些可能性。

但是,在调用reloadData.

这是我停止程序并查看主线程时得到的结果:

在此处输入图像描述

可以看到——它涉及到 UIView、CALayer、CATransaction。我不知道如何回到我的控制器类来找到有问题的代码。

欢迎任何提示,建议,疯狂猜测!

编辑 这里有更多 - 当我在其他随机点打断时会出现更多类。

在此处输入图像描述

4

1 回答 1

9

这是一个老问题,但如果其他人到达这里:您可能正面临布局反馈循环。我写了一篇关于如何调试这些的文章(链接:调试自动布局反馈循环),但这里有一个总结:

  • 如果您在布局期间修改布局,或者布局不明确,您可能会发现自己陷入了循环。
  • Apple在 WWDC 2016 上讨论了一种特殊的调试技术——跳到结束前大约 15 分钟,他们介绍了布局反馈循环调试器。
  • 要自己尝试,请添加-UIViewLayoutFeedbackLoopDebuggingThreshold 100到应用程序的启动参数列表中,然后再次运行它。
  • 下次发生错误时,您应该获得(大量)调试信息,帮助您指出正确的方向。
于 2018-03-11T21:36:53.227 回答