我有一个像这样的视图层次结构:
现在在一些活动中,我需要取消整个模态视图层次结构。所以我正在做的是,我正在从视图控制器3发送关于该事件的通知,并在视图控制器中监听该通知,然后执行:
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"cancelViews" object:nil];
这有效,但有一个问题。根据我的应用程序流程,我最终在视图控制器1和视图控制器4上注册此通知。现在,当视图控制器1的整个模态层次结构已启动并且通知由VC1注册,然后在另一个视图层次结构之上显示视图控制器4,最后当抛出通知时,我的视图层次结构都消失了。
我只希望我最顶层的视图层次结构消失。任何解决方案都会有所帮助。