Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 返回ViewController时委托丢失_Ios_Uitableview_Delegates_Uinavigationcontroller - Fatal编程技术网

Ios 返回ViewController时委托丢失

Ios 返回ViewController时委托丢失,ios,uitableview,delegates,uinavigationcontroller,Ios,Uitableview,Delegates,Uinavigationcontroller,在我的程序中有两个视图控制器。 第一个是表视图。 当我单击一个单元格时,相关的炎症显示在第二视图控制器中。 它工作得很好 当我返回到第一个视图控制器时。再次单击单元格,此时它不工作。 当时代表团不工作。 我像这样航行 -(void)gotoviewUnfinishedMinute { NSArray *vc=[self.navigationController viewControllers]; ViewControllerView *vcView=nil; for

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

当我返回到第一个视图控制器时。再次单击单元格,此时它不工作。 当时代表团不工作。
我像这样航行

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

如何解决此问题?

中分配代理-视图将出现
。
ViewDidLoad仅在加载视图时调用。弹出视图时不调用

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

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


首先,您可以通过放置断点来检查此方法,他们是否调用此方法(如果调用了您单击的所有其他单元格),然后通过放置NSLog来检查您单击的indexpath是否有值

  • (void)tableView:(UITableView*)tableView未选择RowatineXpath:(NSIndexPath*)indexPath

是否通过在didSelect委托方法中放置检查点进行检查是此函数未调用。当我单击Cell时,在使用故事板的同时以奇怪的方式在视图控制器之间导航。。。您是否考虑过使用UITababView Controller作为根视图控制器的导航控制器,并在该表视图控制器和第二视图控制器之间添加SeGuE?
- (void)viewDidLoad
{
        [super viewDidLoad];
        self.tableViewLastMinutes.dataSource = self;
        self.tableViewLastMinutes.delegate = self;
}