模拟器系统是最新的iOS14,发现我们在页面释放的时候如果移除通知,是没有问题的,不会引发崩溃,如图代码
f
如果我们不移除通知观察者,也是不会崩溃的,如图,页面正常pop了
通过查阅资料,发现,在iOS9 之前,通知中心对通知观察者做了unsafe_unretain引用,而iOS
9 之后做了weak 引用,区别就是,unsafe_unretain引用就是对象释放之后,指针不会置为nil,
会造成野指针,而weak 引用,对象释放之后,指针也会置为nil,不会造成野指针的问题
所以,iOS9 之后,我们就可以不移除观察者(当然也可以移除通知观察者)