2

就像这里提出的问题一样,我也遇到了 NSDisplayOperationStack 的问题。不过,让我先说明一下上下文。

我有一个窗口,其中包含一个view,其中tabView有几个按钮、文本视图和标签。内部view来自tabview不同的NIB,它使用自动布局(就像所有的视图、按钮等一样)并设置了约束。

约束在 IB 中进行,不包括在 WindowController 中进行的单个约束。此约束将 的 附加view到它的超级视图,并以andtabView的形式提供视觉约束。在该约束旁边,没有以编程方式制作或添加任何约束。@"H:|[viewInsideTheTabView]|@"V:|[viewInsideTheTabView]|

在这种情况下,我运行并测试了我的应用程序,只是在多次调整窗口大小后才看到以下错误。

错误:

*** Assertion failure in -[_NSDisplayOperationStack exitDisplayOperationForWindow:], /SourceCache/AppKit/AppKit-1138.51/AppKit.subproj/NSDisplayOperationStack.m:343 Exception _NSDisplayOperationStack underflow raised during heart beat. Ignoring....

引发此异常时,应用程序将冻结并且不再响应。我已经检查了每个按钮、视图等是否有并发绘图,但没有一个(至少这是 IB 告诉我的)。

有没有人遇到同样的错误并知道如何应对?

提前致谢。

4

2 回答 2

3

看看我在你所指的范围内的答案,它可能有用......我的问题也只发生在 OSX 10.7 中,而不是 OSX 10.8 中。

于 2013-02-01T15:17:36.900 回答
1

我尝试在 OSX 10.8 上使用相同的应用程序(并多次调整大小),但它从未崩溃。在我看来,Apple 在 10.8 上修复了很多(包括这个)约束问题。

至少在我看来,这使得 10.7 看起来像是它们约束的测试用例。并为该评论添加一些理由;大多数用于动画约束的方法在 10.8 及更高版本中可用。

仍然; 如果有人可以反驳这个答案,请这样做!

于 2013-01-28T16:08:44.520 回答