`selector no reconocido enviado a la instancia <OBJ_ADR>` después de enviar `despedsViewControllerAnimated: complete` a un UIViewController

Muchas preguntas similares pero no con una solución que funciona en mi caso.


Intento escribir una FlipSideApp simple. Solo dos vistas con un solo botón cada una (flipBtn | flopBtn) para presentar la otra vista al revés. @flip en la primera vista funciona bien. @flop en la otra vista provoca un
unrecognized selector sent to instance 0x6c3adf0.

La aplicación se bloquea después de llamar a[self dismissViewControllerAnimated:YES completion:nil]; en archivo FlipSide.m (vea el código a continuación). Dónde0x6c3adf0 es la dirección actual deself que es una instancia deFlipSide : UIViewController en ese caso

Así que creo que el selector no reconocido mencionado en el mensaje de error es eldismissViewControllerAnimated:completion-método
Mientras escribe CodeSense de Xcode "recomienda" ese método.

De acuerdo con laUIViewController Class Reference este método se conoce en iOS 5.0 SDK.
Mi objetivo de implementación es 5.0, dispositivo iPhone, base SDK iOS 5.0, arquitectura estándar (arm7).

Con un punto de interrupción simbólico establecido para todas las Excepciones, el depurador se detiene en UIApplicationMain en la función principal. Lo cual no es nada que me dé una pista.
Zombie-Objects están habilitados. Incluso cuando creo que las pérdidas de memoria no son el problema aquí.

¿Qué puedo hacer para que se reconozca el selector?



Archivo: " AppDelegate.m"

#import "FirstViewController.h"

- (BOOL)application:(UIApplication *)application  
                  didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

self.window = [[[UIWindow alloc]  
                      initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

// Override point for customization after application launch.
UIViewController *viewController1 = [[[FirstViewController alloc]  
                 initWithNibName:@"FirstViewController" bundle:nil] autorelease];

self.window.rootViewController = viewController1;
[self.window makeKeyAndVisible];
return YES;
}



Archivo: " FirstViewController.h"

@interface FirstViewController : UIViewController

- (IBAction)flipBtn:(id)sender;

@end


Archivo: " FirstViewController.m"

…
- (IBAction)flipBtn:(id)sender {

NSLog(@"%s -- reached --", __PRETTY_FUNCTION__);

FlipSide* flipSide = [[FlipSide alloc] initWithNibName:@"FLipSide" bundle:nil];
[self presentViewController:flipSide animated:YES completion:nil];    

NSLog(@"%s -- done --", __PRETTY_FUNCTION__);
}



Archivo: " FlipSide.h"

@interface FlipSide : UIViewController 

- (IBAction)flopBtn:(id)sender;

@end


Archivo: " FlipSide.m"

#import "FlipSide.h"

- (IBAction)flopBtn:(id)sender {

NSLog(@"%s -- reached --", __PRETTY_FUNCTION__);

NSLog(@"self address is: %@", self);

//  //  //      ??? unrecognized selector sent to instance ???
[self dismissViewControllerAnimated:YES completion:nil]; //  <--

NSLog(@"%s -- done --", __PRETTY_FUNCTION__);
}



Consol OutPut es:

-[FirstViewController flipBtn:] -- reached --
-[FirstViewController flipBtn:] -- done --
-[FLipSide flopBtn:] -- reached --
self address is: <FLipSide 0x6c3adf0>
-[FLipSide flopBtn:] -- done --
-[FLipSide flopBtn:]: unrecognized selector sent to instance 0x6c3adf0 

Respuestas a la pregunta(2)

Su respuesta a la pregunta