2012-01-16 83 views
0

我刚刚在xcode 4.2中使用模板实用程序应用程序创建了一个新项目。这是我的项目层次:MainViewController(storyboard)无法推送我的UITableViewController

enter image description here

然后,我试图推动的UITableViewController没有XIB文件(Batikla:的UITableViewController)从MainViewController。 首先,我把一个按钮在我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没有被推入屏幕?

回答

1

推送需要导航控制器。实用程序模板不包含导航控制器。

+0

如何将导航控制器放入故事板?我去编辑 - >嵌入 - >导航控制器然后运行它,我得到这样的错误:[UINavigationController setManagedObjectContext:]:无法识别的选择发送到实例0x6a20820。我在这里错过了什么? – dejoong 2012-01-17 00:46:48

0

是啊,我知道了.. TJ是仪式,我错过了导航控制器在这里 所以这里有云:在AppDelegate.m didFinishLaunchingWithOptions ,我注释掉默认代码,并与导航视图控制器把,看看这个出:(为我所用工具模板,我以为你长了相同的代码为好)

// 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,U可以做到这一点 - >编辑 - >嵌入在 - >导航控制器(点击主视图控制器后),如下所示: enter image description here 和你好,即

希望这可以帮助别人。 谢谢

相关问题