首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当返回到ViewController时委托丢失

当返回到ViewController时委托丢失
EN

Stack Overflow用户
提问于 2013-11-07 09:08:16
回答 2查看 834关注 0票数 0

在我的程序中有两个视图控制器。第一个是表视图。当我点击一个电池,相关的炎症显示在第二视图控制器。效果很好。

当我再次回到第一次查看controller.click时,单元格现在不工作了。代表团当时不在工作。

我像这样航行

代码语言:javascript
复制
-(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;
}

像这样的表视图委托

代码语言:javascript
复制
- (void)viewDidLoad
{
        [super viewDidLoad];
        self.tableViewLastMinutes.dataSource = self;
        self.tableViewLastMinutes.delegate = self;
}

我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-07 09:43:32

-viewWillAppear中分配委托。ViewDidLoad只在视图弹出时调用,而不是调用

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

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

看医生

票数 2
EN

Stack Overflow用户

发布于 2013-11-07 10:28:41

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

  • (TableView):(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19831779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档