Я создаю базовое приложение для навигации и вижу ошибку exc_bad_access. Может кто-нибудь, пожалуйста, укажите мне, что не так? У меня есть только 2 экрана, и вот код, который я использую:
в AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UINavigationController *navcon = [[UINavigationController alloc]init];
psLaunchVC* pvc = [[psLaunchVC alloc]init];
[navcon pushViewController:pvc animated:NO];
[self.window addSubview:navcon.view];
[self.window makeKeyAndVisible];
return YES;
}
psLaunchVC отлично подходит в качестве первого экрана.
Я пытаюсь запустить psTipVC из psLaunchVC.
psLaunchVC имеет действие, объявленное в .h как
-(IBAction)showTip:(id)sender;
и реализовано в .m как
- (IBAction) showTip:(id)sender
{
// psTipVC *pst = [[psTipVC alloc]init];
psTipVC *pst = [[psTipVC alloc]initWithNibName:@"psTipVC" bundle:nil];
[self.navigationController pushViewController:pst animated:YES];
}
ShowTip подключен в IB как действие для touchUpInside. Тем не менее, когда этот код выполняется, я вижу ошибку exc_bad_access. Может ли кто-нибудь помочь мне, что здесь не так? является ли self.navigationController правильным способом доступа к контроллеру навигации?
Объявления для справки:
@interface psLaunchVC : UIViewController
@interface psTipVC : UIViewController
Фактическое сообщение об ошибке:
2011-12-29 00:03:13.739 passport[633:707] -[__NSCFString showTip:]:
unrecognized selector sent to instance 0x18f5e0
2011-12-29 00:03:13.748 passport[633:707]
*** Terminating app due to uncaught exception
'NSInvalidArgumentException',
reason: '-[__NSCFString showTip:]:
unrecognized selector sent to instance 0x18f5e0'