`нераспознанный селектор, отправленный экземпляру <OBJ_ADR>` после отправки `dismissViewControllerAnimated: complete` в UIViewController

Много похожих вопросов, но не с решением, которое работает в моем случае.


Я пытаюсь написать простой FlipSideApp. Всего два представления с одной кнопкой (flipBtn | flopBtn), чтобы представить другое представление наоборот.flip с первого взгляда работает нормально.flop с другой стороны, вызывает
unrecognized selector sent to instance 0x6c3adf0.

Приложение вылетает после звонка[self dismissViewControllerAnimated:YES completion:nil]; в файлеFlipSide.m (см. код ниже). где0x6c3adf0 текущий адресself который является примеромFlipSide : UIViewController в этом случае.

Поэтому я думаю, что нераспознанный селектор, упомянутый в сообщении об ошибке, являетсяdismissViewControllerAnimated:completion-метод.
При наборе кода Xcode CodeSense «рекомендует» этот метод.

СогласноОписание класса UIViewController этот метод известен в iOS 5.0 SDK.
Моя цель развертывания - 5.0, устройство iPhone, базовый SDK iOS 5.0, стандарт архитектуры (arm7).

С символической точкой останова, установленной для всех исключений, отладчик останавливается на UIApplicationMain в основной функции. Что ничего, что подсказывает мне.
Зомби-объекты включены. Даже когда я думаю, что утечки памяти не проблема здесь.

Что я могу сделать, чтобы селектор был распознан?



Файл: "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;
}



Файл: "FirstViewController.h"

@interface FirstViewController : UIViewController

- (IBAction)flipBtn:(id)sender;

@end


Файл: "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__);
}



Файл: "FlipSide.h"

@interface FlipSide : UIViewController 

- (IBAction)flopBtn:(id)sender;

@end


Файл: "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__);
}



Приставка OutPut это:

-[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 

Ответы на вопрос(1)

Ваш ответ на вопрос