【问题标题】:Another Cocoa: Crash in _NSDisplayOperationStack; Need Guidance too另一个 Cocoa:_NSDisplayOperationStack 崩溃;也需要指导
【发布时间】:2013-01-23 09:04:31
【问题描述】:

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

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

约束是在 IB 中创建的,不包括在 WindowController 中创建的单个约束。此约束将tabViewview 附加到它的超级视图,具有@"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 是这样告诉我的)。

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

提前致谢。

【问题讨论】:

    标签: cocoa constraints nslayoutconstraint


    【解决方案1】:

    看看我的answer 在你指的胎面内,它可能有用......我的问题也只发生在 OSX 10.7 中,而不是 OSX 10.8。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2012-04-06
        • 2019-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多