当视图控制器更改为另一个视图控制器时,将调用什么函数?

时间:2009-09-04 06:11:23

标签: iphone uiviewcontroller uinavigationcontroller nsuserdefaults

我的应用程序委托中有两个视图控制器类。我可以通过发出-pushViewController:animated类的方法navigationController并通过调用方法-popViewController:animated返回到前一个视图控制器,从一个视图控制器更改为下一个视图控制器。现在我的问题是,当我回到第一个视图控制器时,我想使用NSUserDefaults为首选项保存一些值,而我不知道应该放在哪里:

[[NSUserDefaults standardUserDefaults] setObject:@"value" forKey:@"key"];

2 个答案:

答案 0 :(得分:1)

在第二个视图控制器中,添加:

- (void) viewWillDisappear:(BOOL)animated {
  [[NSUserDefaults standardUserDefaults] setObject:@"value" forKey:@"key"];
  [super viewWillDisappear:animated];
}

当第二个视图消失并出现第一个视图时,将更新标准默认值。

答案 1 :(得分:1)

这些都有效,具体取决于您要保存信息的确切时间:

-(void) viewWillAppear:(BOOL)animated;

-(void) viewDidAppear:(BOOL)animated;

-(void) viewWillDisappear:(BOOL)animated;