1.现象
主界面是一个TableView 其他的事件没什么讲得,我实现了一个自己的代理,这个代理就是为了收到一个通知,收到通知后刷新界面,
我一开始使用的代码就是[tableview reloaddata] 因为是在一个控制器里,以前也这样做过,所以就没怀疑这样写了,写好测试,发现
界面可以刷新但是要等5s左右才刷新,一开始我以为是我代码性能问题,调用系统的测试工具测试了发现也没有这个问题,为什么会能刷新,
但切要等好久呢,查了一段事件,我怀疑是不是应为主线程的问题,已是把刷新放在GCD主线程中,在测试发现,立马就刷新了,后来去检查
发现,我有发生通知的代码写在了GCD默认线程里,这我虽然找到了这个问题,但是不知道为什么这个样子,主界面tableview肯定是在主线
程的,为啥代理用GCD默认线程发出的通知,主界面接收到通知后,切不能直接刷新界面,知道的指点下,不甚感激!!!
时间: 2024-10-09 00:46:36