我在我的应用上有第二个视图,其中显示了一个导航栏。我想在第二个视图打开时执行一个函数。但是当我打开第二个视图并返回到主视图并重新打开第二个视图时,它会显示最后一个更改并且没有新的更改。每次显示第二个视图时如何执行函数?
答案 0 :(得分:3)
为什么不直接使用第二个视图控制器的-(void)viewWillAppear:(BOOL)animated
(或didAppear)方法?
答案 1 :(得分:1)
您可以编写一个在第二个视图中加载数据的方法。
例如如果您将数据存储在数组中,则可以按以下方式执行:
- (void)loadDataInSecondView:(NSArray *)inputData
{
//写入逻辑以在第二个视图中加载数据
}
当您呈现第二个视图时,只需使用该方法调用此方法。
答案 2 :(得分:0)
您应该全局初始化mainView上的第二个控制器。
- (void)functionSecondView:(BOOL)isReload {
// Do something on your second contoller(object values)
if(isReload) {
[secondContoller reload];
}
[self.navigationController pushViewController:secondContoller animated:YES];
}
注意:如果要清除secondController
上的数据,请重新加载功能