通过分配将self.view推送到导航控制器,但在返回时显示相同的数据

时间:2013-06-26 07:13:45

标签: ios uinavigationcontroller

我正在通过分配将self view推送到self.navigationcontroller。我在该视图上有tableView,因此我正在更改tableview的内容。但当我按下后退按钮(即自动创建)时,我无法显示previous content。它显示更新的内容。

请建议。

4 个答案:

答案 0 :(得分:0)

您在viewWillAppear方法

中设置代码
 - (void)viewWillAppear:(BOOL)animated
    {

     //code set here
   }

答案 1 :(得分:0)

如果您填写tableView's:或viewWillAppear:中的viewDidAppear数据,即使您只按顶部viewController的后退按钮,它也会重新加载。如果您不想更改内容,则应使用initWithNibName:或viewDidLoad:methoads。它们仅在视图创建时被调用。

答案 2 :(得分:0)

根据对@Kirti帖子的评论,您可以通过以下方法检查是否正在弹出viewcontroller,并为您的控制器保留表采取一些必要的操作。

-(void) viewWillDisappear:(BOOL)animated
{
if(![self.navigationController.viewControllers containsObject:self])
    {
         YourControllerWithTable *instance = [self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count - 1];
         instance.loadOldContent = YES;
    }
}

viewWillAppear:的{​​{1}}中,您可以查看:

YourControllerWithTable

答案 3 :(得分:0)

您不要将UIView实例推送到UINavigationController实例,只推送UIViewController的实例。