近期探究了NSNotification、KVO、Delegate的同步和异步问题,发现之前项目中很多NSNotification的用法会导致性能的下降。
结论:NSNotification、KVO、Delegate在哪个线程中触发,就在哪个线程中响应,而且都是同步的,会阻塞当前线程,直到处理完成。
下面通过代码截图看下具体的情况:
首先在一个页面触发通知发送,如下:
在页面A和页面B同时监听这个通知消息,代码如下:
近期探究了NSNotification、KVO、Delegate的同步和异步问题,发现之前项目中很多NSNotification的用法会导致性能的下降。
结论:NSNotification、KVO、Delegate在哪个线程中触发,就在哪个线程中响应,而且都是同步的,会阻塞当前线程,直到处理完成。
下面通过代码截图看下具体的情况:
首先在一个页面触发通知发送,如下:
在页面A和页面B同时监听这个通知消息,代码如下: