将数据从子 VC 传递给父 VC,同时重视对两个 VC 的反射

Posted

技术标签:

【中文标题】将数据从子 VC 传递给父 VC,同时重视对两个 VC 的反射【英文标题】:Passing data from child VC to parent VC ,simultaneously value reflection on both VCs 【发布时间】:2018-12-03 11:11:03 【问题描述】:

我被一个问题困住了,我有以下案例

    我有一个父 VC

    它有 2 个容器 [childVC A, childVC B]

    API 正在调用 childVC (UIViewController) A

    当 childVC A 收到响应后,应在同一个 childVC A 上填充一半响应,并在其父 VC 上填充一半响应 [同时,不使用 segue]

为此,我使用this 了解了委托和协议方法,他们使用了转场,我不想要转场。

示例视角,我已经通过了添加到购物车方法的示例,其中用户将从 childVC 中选择产品并将价值添加到父 VC 的购物车中

【问题讨论】:

【参考方案1】:

在子级中添加 api 调用使您必须使用委托或访问父级(如果它是 rootvc),而是在父级内部进行调用并使用它来访问子级

if let child1 =  self.children.first as?  FirstVC  // suppose it's at index 0
     // send the data to child 

【讨论】:

是的thanx,我已经实现了这个并且赢了 我更喜欢实现prepare(for:sender:) 并在设置视图层次结构时保存指向子视图控制器的指针,而不是每次都在父视图控制器的子视图控制器列表中搜索。然后你就知道你有什么了,不必担心子视图控制器数组的变化。

以上是关于将数据从子 VC 传递给父 VC,同时重视对两个 VC 的反射的主要内容,如果未能解决你的问题,请参考以下文章

Python fork():将数据从子级传递给父级

Angular 2:仅当表单数据有效时才将表单数据从子级传递给父级

VueJs:如何使用 $emit(optionalPayload) 和 $on 将“计算函数”值从子组件传递给父组件?

将对象从子状态传递给父状态

如何在反应中将最新状态从子组件传递给父组件

我如何使用推送方法(无 segue)将数据从一个 vc 传递到另一个 vc - 已关闭