将NSArray传递给segue,将其传递给另一个segue?

时间:2013-09-27 19:23:11

标签: ios tableview segue

ios的新手,请耐心等待。我有一个主视图控制器(mvc),它分段到一个表视图控制器(tc1)。 当触摸tc1中的一行时,它会转到(tc2)以显示第二个表格视图:

+--------+     +--------+      +--------+
|        |     |        |      |        |
|  mvc   |---->|  tc1   |----->|   tc2  |
|        |     |        |      |        |
|        |     |        |      |        |
+--------+     +--------+      +--------+

tc1中tableview的数据在mvc的prepareForSegue中作为数组传递。我将它加载到tc1.h中定义的属性中。

由于tc1为tc2 tableview启动prepareForSegue,看起来填充tc2的唯一方法是将两个数组传递给tc1;一个用于tc1 tableview,另一个用于tc1传递给prepareForSegue中的tc2。有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

我认为你使用的数组是某些模型的一部分。创建一个单独的模型类层次结构,可能还有一个DataAdapter(一个将充当模型上下文的类)。因此,当您提供控制器时,您可以从适配器请求数据,例如:self.users= [[DataAdapter instance] allUsers];

如果您传递的数据用于临时显示某些内容,或者不是模型的一部分,则在prepareForSegue调用中传递它没有任何问题。

答案 1 :(得分:0)

考虑为表1和表2使用单独的uiviewcontroller类。假设您使用的是故事板,这意味着两个viewcontrollers,其中tableviews嵌套在每个视图中。使用segue连接viewcontrollers并命名它们。

声明相应的属性,记住导入标题,你应该能够。)使用你熟悉的prepareforsegue方法,b。)用传递的数据填充表行。