所以你有UINavigationController,父表有一个单元格
---------------
| paul > |
---------------
然后点击它并获得一个包含您输入的文本字段的屏幕
---------------
| name: paul |
---------------
| age: 23 |
---------------
| hair: brown |
---------------
| etc |
---------------
---------------
| save button |
---------------
当您将名称更改为Steve,并按“保存”按钮(弹出视图)时,如何更新初始表?我正在使用NSUserdefaults来保存和加载。当我弹出初始视图时,名称不会更改。 ...但是,如果我重新启动应用程序,那么它就在那里。
无法解决在应用运行时如何更新第一个表格的问题。
答案 0 :(得分:2)
您可以实现委托模式或发送NSNotification。 为此,我认为代码量大致相同,但由于它是一个viewController与另一个进行通信,因此你应该使用委托。
当你实例化(我假设你通过你描述它的方式呈现modalViewController)要推送的新UIViewController时,你将childViewController的委托设置为self(self是父viewController)。然后,在委托协议中的父实现方法。即 - (void)dataChanged:(NSString *)newData。此方法应更新表:
- (void) dataChanged:(NSString*) newData {
[self.tableView reloadData];
}
当在推送的viewController中更改数据时,它会调用[self.delegate dataChanged:newData];
这是Apple用于其组件的模式,所以如果我刚写的内容没有意义,请尝试寻找“委托模式”,您很快就会回到正轨:)