iOS注销通知问题

来源:互联网 发布:巨邦国际 知乎 编辑:程序博客网 时间:2024/05/01 23:10
以前遇到过这种情况:ControllerA push进ControllerB,另一条路径是ControllerC push进ControllerD,ControllerB与ControllerD都注册了并能监听到名字为"noti"得通知,当由A进入B后又退出B,又从C进入D,此时某类发出了通知"noti",此时程序会崩溃,因为由A进入B后,B就注册了名字为“noti”的通知,而又没有在dealloc方法中将此通知注销掉,退出B后B的对象已从内存中释放了,但"noti"通知中还有B的相关记录(注销通知时会将相关通知关掉??),当发出某对象"noti"通知时,通知会发送到其记录列表中的每个对象中,在找B时,因为B对象已从内存中释放了,找不到注册通知的方法,故会变成野指针,导致程序崩溃。
0 0
原创粉丝点击