CoreAnimation:警告,已删除的线程与未提交的 CATransaction 创建者:
CoreAnimation: warning, deleted thread with uncommitted CATransaction created by:
详情:
CoreAnimation:警告,已删除带有未提交 CATransaction 的线程;创建者:
0 QuartzCore 0x00007fff86c516c2 _ZN2CA11Transaction4pushEv + 312
1 石英核心 0x00007fff86c6c9a8 _ZN2CA11Transaction15ensure_implicitEv + 276
2 石英核心 0x00007fff86c57907 _ZN2CA5Layer13thread_flags_EPNS_11TransactionE + 37
3 石英核心 0x00007fff86c6f92d _ZN2CA5Layer13needs_displayEv + 45
4 QuartzCore 0x00007fff86c6f8f8 -[CALayer needsDisplay] + 21
5 AppKit 0x00007fff89a3df37 -[NSView viewWillDraw] + 1078
6 AppKit 0x00007fff89a3d2b0 -[NSView _sendViewWillDrawInRect:clipRootView:] + 1417
7 AppKit 0x00007fff899f6f1a -[NSView displayIfNeeded] + 1216
我刚刚在两种不同的情况下从控制台发现了这个警告,并用相同的解决方案解决了它们。
根本原因是我刚刚尝试在后台线程中更新 UI 元素,在我将更新任务分派到主线程后,问题解决了。
在这里粘贴一个辅助函数,
void RunInMainThread(void (^block)(void))
{
if (!block) {
return;
}
if ([NSThread isMainThread]) {
block();
} else {
dispatch_async(dispatch_get_main_queue(), block);
}
}
详情:
CoreAnimation:警告,已删除带有未提交 CATransaction 的线程;创建者:
0 QuartzCore 0x00007fff86c516c2 _ZN2CA11Transaction4pushEv + 312
1 石英核心 0x00007fff86c6c9a8 _ZN2CA11Transaction15ensure_implicitEv + 276
2 石英核心 0x00007fff86c57907 _ZN2CA5Layer13thread_flags_EPNS_11TransactionE + 37
3 石英核心 0x00007fff86c6f92d _ZN2CA5Layer13needs_displayEv + 45
4 QuartzCore 0x00007fff86c6f8f8 -[CALayer needsDisplay] + 21
5 AppKit 0x00007fff89a3df37 -[NSView viewWillDraw] + 1078
6 AppKit 0x00007fff89a3d2b0 -[NSView _sendViewWillDrawInRect:clipRootView:] + 1417
7 AppKit 0x00007fff899f6f1a -[NSView displayIfNeeded] + 1216
我刚刚在两种不同的情况下从控制台发现了这个警告,并用相同的解决方案解决了它们。
根本原因是我刚刚尝试在后台线程中更新 UI 元素,在我将更新任务分派到主线程后,问题解决了。
在这里粘贴一个辅助函数,
void RunInMainThread(void (^block)(void))
{
if (!block) {
return;
}
if ([NSThread isMainThread]) {
block();
} else {
dispatch_async(dispatch_get_main_queue(), block);
}
}