如何将数据传递给子 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?的主要内容,如果未能解决你的问题,请参考以下文章