クライアントアプリケーションにはアイドルタイムアウト制御メカニズムがあり、ユーザーが指定された時間間隔でアプリを何もしなかった場合、警告を表示してログイン画面に戻します。この制御は、他のすべてのビューを開始するコンテナビューで行われます。アイドル時間が経過したら、このコンテナビューを呼び出し元、つまりログイン画面に表示します。
問題は、ユーザーがアクションシートまたはポップオーバーを表示するsthgを実行し、アイドル時間が経過するまで何もしない場合、ユーザーをログイン画面にスローすると、アクションシートとポップオーバーもログイン画面に残ります。私はそれらを却下しないので。
これを解決するために、すべてのアクションシートとポップオーバーにビューコントローラーのメンバーを保持させてから、所有者のviewWillDisappearメソッドでそれらを却下することを考えることができます。しかし、私は非常に多くのビューコントローラを持っているので、もしあれば、他の方法を探しています。
では、問題は、発信者が誰であるかを知らなくても、これらすべてのアクションシートとポップオーバーをログイン画面から削除するにはどうすればよいかということです。