threading violation: expected the main thread 线程违规 | iOS开发

    科技2022-07-17  125

    今天在测试中遇到程序崩溃,报错信息中有一句threading violation: expected the main thread

    原因

    产生这个错误的原因就是苹果系统对在子线程进行UI操作做了非常严格的检验,如果我们在子线程中更新UI,则会直接因为线程违规而导致Crash

    解决方案

    通过查看自己涉及到线程的代码,确认是否在非主线程中加了更新UI的操作。通常在堆栈信息中我们可以查看到具体出错的函数,找到问题后,只需把更新UI的操作放在主线程中实现即可。

    Processed: 0.009, SQL: 8