在我的客户端应用程序中,我有一个空闲超时控制机制,当用户在指定的时间间隔内没有对应用程序执行任何操作时,我会显示一个警告并将他返回到登录屏幕。此控件发生在我启动所有其他视图的容器视图中。当空闲时间到时,我将这个容器视图弹出给它的调用者,即登录屏幕。
问题是,如果用户做了一些显示操作表或弹出框的操作,然后在空闲时间结束之前不做任何事情,当我将他扔到登录屏幕时,操作表和弹出框也会保留在登录屏幕上因为我不解雇他们。
为了解决这个问题,我可以考虑让所有操作表和弹出框保留我的视图控制器的成员,然后在其所有者的 viewWillDisappear 方法上将它们解散。但是我有这么多视图控制器,所以我正在寻找其他方法,如果有的话。
所以,问题是如何在不知道调用者是谁的情况下让所有这些操作表和弹出框从我的登录屏幕中消失?