您的位置:首页 > 移动开发 > IOS开发

iOS 接收通知的线程一定是主线程吗?

2018-03-16 18:32 1131 查看
问题:在主线程中A对象监听到通知B后,调用函数functionX。然后我们开启一条子线程,在子线程中发出通知B。现在问A对象执行方法functionX时是在哪个线程?

In a multithreaded application, notifications are always delivered in

the thread in which the notification was posted, which may not be the

same thread in which an observer registered itself.

官方文档说:在多线程的程序中,通知会在post通知时所在的线程被传达,这就导致了观察者注册通知的线程和收到通知的线程不在一个线程。

经过Xcode执行后functionX是在发送通知的子线程执行的。这样的话,如果在子线程中进行UI操作的话,就会出现崩溃。因此在这种情况下,需要回到主线程进行操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  通知 多线程