Presentar y descartar controlador de vista modal

¿Puede alguien darme el código de ejemplo que puedo usar para presentar primero un controlador de vista modal y luego descartarlo? Esto es lo que he estado intentando:

    NSLog(@"%@", blue.modalViewController);
    [blue presentModalViewController:red animated:YES];
    NSLog(@"%@", blue.modalViewController);
    [blue dismissModalViewControllerAnimated:YES];
    NSLog(@"%@", blue.modalViewController);
Este código está en viewDidLoad ("azul" y "rojo" son subclases de UIViewController). Espero que muestre la vista roja y luego la oculte inmediatamente con algo de animación. Sin embargo, este fragmento de código solo presenta la vista modal y no la descarta. ¿Alguna idea? El primer registro muestra "nulo", mientras que los otros dos registros muestran <RedViewController: 0x3d21bf0>
Otro punto es, si pongo este código en applicationDidFinishLaunching: la vista roja no aparece en absoluto, y todos los registros se vuelven "nulos"

Respuestas a la pregunta(6)

Su respuesta a la pregunta