从viewController内部的tableview推送viewController不起作用

时间:2012-01-03 18:40:58

标签: iphone objective-c ios xcode

我遇到的问题是将我的视图控制器从放入viewController而不是TableViewController的tableview中推出。

我在这里找到了一个解决方案

pushViewController is not pushing

问题是..我已经完成了他的解决方案,我的观点仍然没有推动。我通过ctrl + drag将我的tableview连接到视图控制器并设置了dataSource和delegate。在我提到的帖子中,他们说解决方案是“从tableview创建一个引用插座到视图控制器。”但我不知道这意味着什么。所以对此的帮助也会很好。我跟着this tutorial,显然是坚持第9步。

未触发的代码行是

[self.navigationController pushViewController:facility animated:YES];

我的代码如下......

viewTable方法

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{   
 NSLog(@"list Size: %@",list);
    return [list count];
}

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
    static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = (UITableViewCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if(cell == nil){
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
CustomerListData *customer = [self.list objectAtIndex:indexPath.row];
cell.textLabel.text = customer.facilityName;

// cell.textLabel.text = @"Detail";
return cell;
}

-(void)setValue:(NSMutableArray*)array
{ 
//NSMutableArray *newArray = [[NSMutableArray alloc] init];
list = array;
}

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

FacilityMissionListViewController *facility = [self.storyboard instantiateViewControllerWithIdentifier:@"facilityMissionList"];
[self.navigationController pushViewController:facility animated:YES]; 
//UINavigationController* navController = self.navigationController;
}

最后一个注释掉的行是检查navigationcontroller是否为null。事实并非如此。

从我收集的问题来看,这里的问题在于表视图位于视图控制器内部,而不是“tableviewcontroller”。如果是这种情况,这种方法显然有效,但如果不是这样的话,必须采取其他一些步骤......但我不了解它们。

提前致谢。

2 个答案:

答案 0 :(得分:0)

放一个:

NSLog(@"%@", self.navigationController);
在您的didSelectRowAtIndexPath方法中

,您将看到是否正在调用该方法以及navigationController是否为nil。可能是其中一种情况。

否则确保FacilityMissionListViewController也不是nil。

答案 1 :(得分:0)

听起来您的NavigationController设置不正确。你可以发布设置它的代码吗?