我刚刚使用模板Utility Application在xcode 4.2中创建了一个新项目。这是我的项目层次结构:
然后,我尝试从MainViewController推送没有XIB文件的UITableViewController(Batikla:UITableViewController)。 首先,我在MainViewController故事板中放了一个按钮,并将其连接到我的ibaction方法:
@implementation MainViewController
@synthesize managedObjectContext = _managedObjectContext;
@synthesize flipsidePopoverController = _flipsidePopoverController;
- (IBAction)batikla{
NSLog(@"test 1");
Batikla *batikla = [[Batikla alloc] initWithStyle:UITableViewStylePlain];
batikla.title = [NSString stringWithFormat:@"Test"];
[self.navigationController pushViewController:batikla animated:YES];
[batikla release];
NSLog(@"test 2");
}
点击按钮后,没有视图被推送到视图,而是出现在控制台中:
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".Attaching to process 58916.
2012-01-17 01:30:47.569 iBadah[58916:207] test 1
2012-01-17 01:30:47.572 iBadah[58916:207] test 2
该方法已被解雇,但为什么我的uitableviewcontroller没有被推入屏幕?
答案 0 :(得分:1)
推送和弹出需要导航控制器。实用程序模板不包含导航控制器。
答案 1 :(得分:0)
// Override point for customization after application launch.
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
MainViewController *controller = (MainViewController *)navigationController.topViewController;
//MainViewController *controller = (MainViewController *)self.window.rootViewController;
controller.managedObjectContext = self.managedObjectContext;
return YES;
并且不要忘记在故事板中添加uinavcontroller,你可以从 - >编辑 - >嵌入 - >导航控制器(点击主视图控制器后),如下所示: 你很高兴去那里。
希望这能有所帮助。 感谢