应用程序崩溃了,日志显示了以下消息:

“嵌套优化永远不应该被触发。这可能是由于在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";
});

并不是一个真正的答案,更多的是小费。但是总比没有好。

09-07 14:14