¿Cómo verifico si hay otro controller de vista visible?

A veces, mi aplicación falla cuando dos UIAlertViews intentan presentarse al mismo time. ¿Cómo UIAlertview si se muestra otro UIAlertview antes de mostrar otro?

Esto es lo que intenté, pero no funciona.

Nota: estoy usando swift para este proyecto.

 if ViewController.isVisable == false { self.presentViewController(AlertView, animated: true, completion: nil) } 

Como respuesta estricta a su pregunta, puede verificar si la vista del ViewController tiene su window:

 if ViewController.view.window != nil { } 

De todos modos, te animo a que tomes los consejos de @Wain.

No deberías estar abordando el problema de esta manera. En cambio, lo que está activando la alerta que se debe mostrar debe habilitarse / deshabilitarse a medida que se visualiza / oculta la vista de los controlleres de vista. Un controller de visualización que no se encuentra en la pantalla, en general, no debería consumir resources al seguir el estado de seguimiento y tratar de actualizar la interfaz de usuario (ya sea en su propia vista o mediante alertas).

Obviamente, hay excepciones a esto a veces, pero debería ser su position de reference y evitará problemas como múltiples vistas de alertas al mismo time (o al less por el mismo motivo / desencadenante).