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

当我回到第一个视图controller.click再次单元格现在它不起作用。
代表团当时不工作。
我像这样导航

-(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;
}


我怎么解决这个问题?

最佳答案

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

首先将视图控制器加载到内存中时,仅一次调用viewDidLoad。在这里,您要实例化任何实例变量并构建在该视图控制器的整个生命周期中都有效的所有视图。

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

See the docs

关于ios - 回到ViewController时委派丢失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19831779/

10-09 09:52