У меня проблемы с переходом между представлениями, и мне нужна помощь. Это несколько странно, так что терпите меня, пожалуйста.
У меня есть UINavigationController с именем JobsNavController
. Первое представление в JobsNavController содержит UITableViewController с именем JobsTableViewController
[со связанным пером с именем JobTableView.xib
]. Я хочу добавить Add
UIButton внутри UINavController, чтобы «создать новую работу». При щелчке он должен переключиться с JobTableView.xib
на мой JobCreateViewController
перо с именем JobCreateView.xib
. Поскольку кнопка «добавить» находится внутри UINavController, я поместил код IBAction внутри JobsNavController.h and .m
.
Вот это JobsNavController.h
#import <UIKit/UIKit.h>
@class JobCreateViewController, JobsTableViewController;
@interface JobsNavController : UINavigationController {
IBOutlet UIButton *btnJobCreate;
IBOutlet JobCreateViewController *jobCreateViewController;
IBOutlet JobsTableViewController *jobsTableViewController;
}
-(IBAction)tellDelegateToFlip:(id)sender;
@property (nonatomic, retain) UIButton *btnJobCreate;
@property (nonatomic, retain) IBOutlet JobCreateViewController *jobCreateViewController;
@property (nonatomic, retain) IBOutlet JobsTableViewController *jobsTableViewController;
@end
А вот и мой JobsNavController.m
#import "JobsNavController.h", "Time_Blogger1AppDelegate.h", "JobsTableViewController.h"
@implementation JobsNavController
@synthesize btnJobCreate, jobCreateViewController, jobsTableViewController;
.....
-(void)tellDelegateToFlip {
JobCreateViewController *jobAddView = [jobCreateViewController initWithNibName:@"JobCreateView" bundle:nil];
[self setJobCreateViewController:jobAddView];
[jobAddView release];
UIViewController *transitionTo = jobCreateViewController;
//create view animation block
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.25];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
[jobsTableViewController.view removeFromSuperview];
[self.view insertSubview:transitionTo.view atIndex:0];
[UIView commitAnimations];
[transitionTo release];
}
Я не получаю никаких ошибок сборки / компиляции, но симулятор выдает исключение, когда я нажимаю кнопку с указанием:
2012-01-22 19:19:22.895 Time-Blogger1[4209:f803]
-[JobsNavController tellDelegateToFlip:]: unrecognized selector sent to instance 0x6c85e80 2012-01-22 19:19:22.897 Time-Blogger1[4209:f803]
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'-[JobsNavController tellDelegateToFlip:]: unrecognized selector sent to instance 0x6c85e80'