ios NSNotificationCenter一点理解

96
啷个里个啷里个啷
2018.08.20 11:10 字数 265

之前面试的时候,总有面试官问到这个问题,这个确实之前没有考虑过,现在整理下。

首先在vc1中接受vc2中发过来的通知,代码如下:

其中btn的作用是跳转。
接收通知方法

在vc2中发送通知,代码如下:

发送通知

输出结果:

结果

来看个异步发送通知,代码如下:

这里将第三个通知在非主线程中发送,看下结果:

接收到通知的线程,number 为 3,说明不在主线程,这个需要注意一下。

总结下吧:

1,多个通知在发送的时候,是同步的,不会开启其他线程。

2,通知并不只在主线程中可以使用,在其他线程同样可以使用,但是需要注意的是在其他线程发送的通知,接收的时候,同样也在其他线程接收,如果有必要的话,需要回到主线程去刷新界面等操作。

日记本