如何将数据从 UIViewController 传递到嵌入在该 UIViewController 上的容器中的 UITableViewController?

How can I pass a data from UIViewController to a UITableViewController that is embedded in a container placed on that UIViewController?

我有一个用 swift 编写的 ios 应用程序,我有一个 UIViewController 在屏幕的一半上有一个容器。此容器已嵌入 UITableViewController,我想在那里显示一些我从我的网络服务中获取的数据。问题是要从 Web 服务获取数据,我需要一个唯一的 ID 号,我将其存储在 UIViewController 中。那么如何将数据从一个控制器传递到另一个控制器呢?

我有一个 project on github(用 Objective-C 编写),它完全符合您的要求。它的名字非常原始 "test".

它有一个带有 2 个子视图控制器的主视图控制器,每个子视图控制器都是 UITableViewController 的子类,设置为管理静态 table 视图。 (这个细节并不重要。解决您的问题的是在父视图控制器和子视图控制器之间建立连接的方法。)

我们的想法是,您在容器视图中设置子视图控制器,然后 link 通过嵌入转场将其设置。

当您使用嵌入转场时,prepareForSegue 会在加载视图时触发。如果需要调用 it/them,在 prepareForSegue 中保存对子视图控制器的引用,如果需要 it,则让自己成为每个子视图控制器的引用打电话给.

代码在 Swift 中会有所不同,但概念是相同的。