为什么我必须重新加载表中的行只重新加载一次?

时间:2012-04-03 04:21:27

标签: objective-c ios reloaddata

我已经工作了好几个小时,无济于事,我有一个方法,在viewWillAppear重新加载表的一部分。但是,在第一次重新加载后,该方法似乎不再起作用。我知道这是因为我在cellForIndex方法中放了一个NSLog。如果重要的话我正在推动并弹出一个导航栏。

- (void)viewWillAppear:(BOOL)animated {
    NSLog(@"START TIME:%@", eSTime);
    NSLog(@"END TIME:%@", eEtime);
    NSIndexPath* rowToReload = [NSIndexPath indexPathForRow:0 inSection:1];
    reloadRows = [NSArray arrayWithObjects:rowToReload, nil];
    [self.tableView reloadRowsAtIndexPaths:reloadRows withRowAnimation:UITableViewRowAnimationNone];
}

1 个答案:

答案 0 :(得分:0)

这可能是因为由于某种原因,视图控制器的容器视图只告诉它它出现一次。

你放入它的视图控制器有责任告诉它什么时候出现,并且已经出现,以及是否以动画方式。

如果由于某种原因视图控制器在第一次出现后没有正确调用此方法,则视图控制器将只使用-viewWillAppear:方法调用接收,因此重新加载只会发生一次。

所以问题就变成了:你是如何展示这个视图控制器的?它是在你自己创建的容器中,还是在UINavigationController中,还是其他什么东西?