如何从 Modal ViewController 重新加载父 UITableViewController 中的数据

Posted

技术标签:

【中文标题】如何从 Modal ViewController 重新加载父 UITableViewController 中的数据【英文标题】:How to reload data in parent UITableViewController from Modal ViewController 【发布时间】:2012-03-20 20:56:24 【问题描述】:

我有一个带有根视图控制器 (UITableViewController) 的导航控制器。这个表格视图控制器与另一个导航控制器具有模态segue,其中 UITableViewController 作为根视图控制器。从我的模态表视图控制器中,我正在调用

[self dismissModalViewControllerAnimated:YES];

关闭模型视图。我试图在关闭模式视图之前调用我的“刷新”函数(位于第一个 UITableViewController 中)。我尝试使用

[self.parentViewController refresh];

但我猜我指的是模态视图的导航控制器?由于这个原因,它似乎不起作用。

【问题讨论】:

【参考方案1】:

在您的父视图中创建NSNotificationCenter

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refresh) name:@"updateParent" object:nil];

然后在您关闭模态视图时调用它:

[[NSNotificationCenter defaultCenter] postNotificationName:@"updateParent" object:nil];

【讨论】:

甜蜜!像魅力一样工作!非常感谢!

以上是关于如何从 Modal ViewController 重新加载父 UITableViewController 中的数据的主要内容,如果未能解决你的问题,请参考以下文章

从modal中展示viewcontroller的调用方法

Swift、Modal Segue 和 ViewController 问题

使用 Swift 3 将数据从 Modal Viewcontroller 传递到 rootController(不要 Segue)

将 Modal UINavigationController 展开到另一个 ViewController

iOS Modal Segue 丢弃源 ViewController?

使用 Modal View Controller -> ViewController 设置协议