3

我有一个问题。我需要从详细视图更新主视图数据的数据。我尝试实现 prepareForSegue 方法,但在点击后退按钮时不会调用它。

我有什么办法可以做到这一点?

4

1 回答 1

6

从导航堆栈中弹出视图控制器时,不会调用 Prepare for segue。我建议[tableView reloadData]在详细视图的viewWillDisappear方法或主视图的viewWillAppear方法中调用。或者,如果您想在进行更改后重新加载表格视图,您可以尝试使用通知。在您的主视图控制器中类似于以下内容:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refresh:) name:@"RefreshMasterNotification" object:nil];
}

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

- (void)refresh:(NSNotification *)notification
{
    [tableView reloadData];
}

每当您在详细视图控制器中进行更改时,都会出现类似以下内容:

[[NSNotificationCenter defaultCenter] postNotificationName:@"RefreshMasterNotification"];
于 2013-10-11T20:34:31.873 回答