在视图控制器之间进行快速通信

时间:2018-07-31 06:41:12

标签: swift uitableview uiviewcontroller segue

我是Swift的新手,我想知道如何在三个视图控制器之间设置序列。我在想的是,第一个viewController允许用户在2个对象之间进行选择,然后重定向到secondView,后者允许在22个对象之间进行选择,并根据用户过去2个视图控制器选择的组合,创建一个新的tableView。在这样的程序中,如何跟踪用户的决定并提供与之相关的tableView?预先非常感谢。

3 个答案:

答案 0 :(得分:0)

我为您提供两个粗略的解决方案。

  1. (不建议)使用两个全局变量VcOne和VcTwo。选择第一个对象时,将值放入VcOne中;从第二个对象中选择时,将值放入VcTwo中。然后在tableView的Controller中检查这两个变量并创建您的表View。

  2. 在执行Segue时,在目标ViewController中有一个Variable并放置一个标识符。并在第三个ViewController上具有两个变量。当您从第二个ViewController执行segue时,请将先前ViewController的标识符和当前View Controller的标识符分配给下一控制器的变量。然后在tableView的Controller中检查这两个变量并创建您的表View。

  3. 您还可以使用数组来跟踪用户的选择。

答案 1 :(得分:0)

这些都是iOS开发的基础知识。只需拆分您需要完成的任务即可。

您必须要做的第一步。首先研究视图控制器之间的导航。在您使用segue的情况下。堆栈溢出中有很多与此有关的问题。

然后了解如何在viewControllers之间传递数据。一旦您了解了导航,这将非常容易。

您可以使用传递的接收值来创建逻辑。 例如:firstViewController会将名为objectCount的参数传递给secondViewcontroller。并根据该值计数可以确定哪些对象应显示为隐藏。

然后基于该选择,您需要将Object返回到firstViewController或转到另一个3rd View Controller。

答案 2 :(得分:0)

真的很抱歉,但我认为您不了解基础知识就无法开始开发iPhone应用程序。

您将需要三个ViewController,并且需要使用parepare(for:sender:)方法将数据从一个ViewController传递到另一个ViewController。

这里是example on how to pass data between ViewControllers