0

在我的程序中有两个视图控制器。第一个有表格视图。当我单击一个单元格时,相关的炎症会显示在第二个视图控制器中。它运作良好。

当我回到第一个视图控制器时。再次单击单元格现在它不起作用。代表团当时不工作。
我这样导航

-(void)gotoviewUnfinishedMinute
{
    NSArray *vc=[self.navigationController viewControllers];

    ViewControllerView *vcView=nil;

    for (int i=0; i<[vc count]; i++)
    {
        UIViewController *tempVC=[vc objectAtIndex:i];
        if([tempVC isKindOfClass:[ViewControllerView class]])
        {
            vcView=[vc objectAtIndex:i];
            break;
        }
    }

    if(vcView)
    {
        [vcView setMeetingMinute:[unfinishedMinutes objectAtIndex:selectedRow]];
        [self.navigationController popToViewController:vcView animated:NO];
        vcView = nil;
    }
    else
    {
        ViewControllerView *vc3New = [self.storyboard instantiateViewControllerWithIdentifier:@"vcview"];
        [vc3New setMeetingMinute:[unfinishedMinutes objectAtIndex:selectedRow]];
        [self.navigationController pushViewController:vc3New animated:NO];
        vc3New = nil;
    }
    vc = nil;
}

像这样的表视图委托

- (void)viewDidLoad
{
        [super viewDidLoad];
        self.tableViewLastMinutes.dataSource = self;
        self.tableViewLastMinutes.delegate = self;
}

我怎么解决这个问题?

4

2 回答 2

2

在 中分配代表-viewWillAppear。ViewDidLoad 仅在加载视图时调用。弹出时不调用

viewDidLoad当视图控制器第一次加载到内存中时,只调用一次。这是您想要实例化任何实例变量并构建在此视图控制器的整个生命周期中存在的任何视图的地方。

viewWillAppear在视图可见时调用,并且可以在视图控制器的生命周期内多次调用

查看文档

于 2013-11-07T09:43:32.693 回答
0

首先,您可以通过放置断点来检查此方法,如果调用您单击的所有其他单元格,则它们是否调用此方法,然后通过放置 NSLog 检查您单击的索引路径是否具有值。

  • (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
于 2013-11-07T10:28:41.807 回答