信号信号错误:-[_ASDisplayLayer setNeedsLayout] 中的断言失败



我需要有关上述错误的帮助。我的项目正在使用 AsyncDisplayKit,我在方法中的 _ASDisplayLayer.mm 文件行 104 中收到上述错误

- (void)setNeedsLayout
{
    ASDisplayNodeAssertMainThread();//line 104 where error is occuring
    [super setNeedsLayout];
}

我不知道如何解决这个问题,因为我是该库的新手,我只是在重新运行以前开发人员的工作。完整错误堆栈为:* 断言失败 -[_ASDisplayLayer setNeedsLayout],/Users/.../Desktop/.../Pods/AsyncDisplayKit/AsyncDisplayKit/Details/_ASDisplayLayer.mm:1042016-03-16 00:17:08.951 DanceRockIt[408:168719] * 由于未捕获的异常"NSInternalInconsistencyException"而终止应用程序,原因:"第一个抛出调用堆栈:(0x252fa2eb 0x24ac6dff 0x252fa1c1 0x25ad0d3b 0x27f519 0x2755f93b 0x2755f3d9 0x2756240b 0x2758f1f5 0x2949954b 0x297c4525 0x294b3a69 0x294f9e2d 0x2956c68d 0x2956d473 0x2956b935 0x345515 0x345259 0x12abcd 0x106ccbf 0x10775c3 0x106fefb 0x1079017 0x1078909 0x25030e0d 0x250309fc)libc++abi.dylib:以 NSException 类型的未捕获异常终止

某些东西从后台线程调用您的setNeedsLayout代码。您必须找到此位置并移动到 GUI 线程(又名主线程)。

例如:

 dispatch_async(dispatch_get_main_queue(), ^{
     [self.titleTextNode setNeedLayout];
 });

最新更新