今天在测试中遇到程序崩溃,报错信息中有一句threading violation: expected the main thread
原因
产生这个错误的原因就是苹果系统对在子线程进行UI操作做了非常严格的检验,如果我们在子线程中更新UI,则会直接因为线程违规而导致Crash
解决方案
通过查看自己涉及到线程的代码,确认是否在非主线程中加了更新UI的操作。通常在堆栈信息中我们可以查看到具体出错的函数,找到问题后,只需把更新UI的操作放在主线程中实现即可。