如何将数据传递给子 UINavigationController?

Posted

技术标签:

【中文标题】如何将数据传递给子 UINavigationController?【英文标题】:How to pass data to child UINavigationController? 【发布时间】:2010-12-24 09:30:57 【问题描述】:

在第一个视图上。我有一个 UItable。当我点击其中一个单元格(例如鸡肉)时,它将转到子视图(子视图)并显示详细信息(鸡肉颜色)。

任何好的建议或教程如何做到这一点?

非常感谢。

【问题讨论】:

【参考方案1】:

获取good book。


基本上,您使用

推送一个新的视图控制器
[someNavigationController pushViewController:someVC animated:YES]

你从UITableViewDelegate方法调用它

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

只要用户点击UITableView 中的单元格,就会调用此方法。


要传递数据,您可以使用自定义的 init 方法,例如

-(id)initWithChicken:(ChickenObject *)chicken

或者你使用一个实例变量并像这样设置它

[someVC setChicken:someChicken]

【讨论】:

【参考方案2】:

同意 f***789 将值传递给第二个视图。理论上还有第三种方式,将第一个视图设置为第二个视图的委托。这样,您始终可以在第二个视图中调用委托方法,并从第一个视图中获取您需要的内容。通常我使用自定义 -init 或直接访问第二个视图的属性。然后我将第一个视图控制器设置为第二个视图控制器的委托,然后我可以将值传回。希望这会有所帮助。

【讨论】:

以上是关于如何将数据传递给子 UINavigationController?的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何将数据传递给子活动?

如何将数据传递给 vue.js 中的子组件

Qt C++ - 如何成功地将数据传递给子进程?

如何将数据传递给嵌套的子组件vue js?

SwiftUI 将数据传递给子视图

如何使用ts将数据传递给vue3中的多深度子组件