多线程 子线程为什么不能更新UI

https://www.zhihu.com/question/22751387/answer/23754690
http://blog.sina.com.cn/s/blog_45e2b66c0102v254.html
今天发现一个奇怪问题,当用NSNotification,在回调函数里面对tableview进行reloadData时,并不能更新UI,而且还会导致以后都更新不了。后来查了一些资料才发现,postNotification之后调用回调函数,相当于开了一个子线程,而子线程中是不能更新UI的。所以要想在notification的回调里面更新UI,必须用

dispatch_async(dispath_get_main_queue(),^{

   [tableview reloadData];

}];

你可能感兴趣的:(多线程 子线程为什么不能更新UI)