signal sigabrt error: Assertion failure in -[_ASDisplayLayer setNeedsLayout]

signal sigabrt error: Assertion failure in -[_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:104 断言失败 2016-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];
 });