返回时,uitableview有问题

问题描述

| 我有带表视图的viewcontroller,当我单击一个单元格时,我导航到另一个具有另一个表视图的视图控制器。 我尝试在第一个viewcontroller中使用viewDidAppear和viewWillAppear,当我从第二个viewcontroller返回该viewcontroller时,我将输入此方法之一。 问题是,当我返回到该ViewController时,他没有输入此方法。 这就是我进入第二个视图控制器的方式:
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
        ProfileViewController2 *tmp = [[ProfileViewController2 alloc]initWithType:indexPath.row string:[self.array2 objectAtIndex:indexPath.row]];
        [[self navigationController] pushViewController:tmp animated:YES];
        [tmp release];
        [self.mytableview deselectRowAtIndexPath:indexPath animated:YES];
    }
    

解决方法

        众所周知,1和
viewDidAppear
在iOS上不稳定。 如果您使用的是
UITableView
,我们总是将我们需要运行的代码放在将表加载到表中之前。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
功能。这是一个小技巧,但效果很好,因为这是UITableViewDataSource协议中调用的第一个函数。 或者,您可以致电
    [tmp viewDidAppear];
在按下视图控制器之后,在释放
tmp
之前强制执行该函数。