iOS运行时报错:This application is modifying the autolayout engine from a background thread after the engine was accessed from the main thread. This can lead to engine corruption and weird crashes.

最近在调OC和UIWebview JS进行交互,打开含有Web的页面时就会报下面的错误,后来发现是因为在JS调用OC是在子线程中,如果JS调OC 要更新当前UI的话就要放在主线程里。
This application is modifying the autolayout engine from a background thread after the engine was accessed from the main thread. This can lead to engine corruption and weird crashes.

没加在主线程之前的代码

weakself.context[@"jsViewFinish"] = ^() {
            //结束加载动画
            [weakself stopLoadingDataAnimation];
    };

加入主线程后的代码

weakself.context[@"jsViewFinish"] = ^() {
        dispatch_async(dispatch_get_main_queue(), ^{
            [weakself stopLoadingDataAnimation];
        });
    };
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容