将视图推送到第二个导航控制器

时间:2010-11-09 15:25:52

标签: iphone

我有一个tabbar应用程序,它有两个项目。这两个不同的tabbar项目包含2个不同的导航控制器。 第一个导航控制器工作正常,但当我想将视图推送到它生成的第二个导航 “应用程序试图将nil视图控制器推向目标”。

这是我将视图推送到第二个导航控制器的代码。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

TabNavAppDelegate *appDelegate = (TabNavAppDelegate *)[[UIApplication sharedApplication] delegate];
JJ_MapAnnotation *anno = (JJ_MapAnnotation *) [depotsArray objectAtIndex:indexPath.row];
if(self.secondViewController ==nil)
{
    SecondViewController *secView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    self.secondViewController == secView;
    [self.secondViewController.map addAnnotation:anno];
    [secView release];
}


secondViewController.title = [NSString stringWithFormat:@"%@", [anno title]];

[appDelegate.navController pushViewController:secondViewController animated:YES]; 

1 个答案:

答案 0 :(得分:0)

我敢打赌:

if(self.secondViewController ==nil)

self.secondViewController不是nil,也不是有效对象。可能有一些垃圾在那里。 当你进行这种动态分配时,确保你的对象在释放后变为零。否则你可以有这样的案例。 我希望它有所帮助

更新:

==运算符在这里不正确;)

self.secondViewController == secView; //WRONG
self.secondViewController = secView; //OK