应用程序崩溃了,日志显示了以下消息:
“嵌套优化永远不应该被触发。这可能是由于在NSISVariable委托(delegate)回调中发生了自动布局工作,这是不允许的。”
如何解决这个问题?
最佳答案
认为我正在后台线程中更新UI。尝试放入:
UI更新行旁边的if ([NSThread isMainThread]) { NSLog(@"isMainThread"); } else { NSLog(@"isNotMainThread"); }
,以便在后台线程中找到UI更新。
例:
if ([NSThread isMainThread]) { NSLog(@"isMainThread"); } else { NSLog(@"isNotMainThread"); }
_MyLbl.text=@"some text";
如果isNotMainThread显示在日志中,则将两行替换为:
dispatch_async(dispatch_get_main_queue(), ^{
_MyLbl.text=@"some text";
});
并不是一个真正的答案,更多的是小费。但是总比没有好。