2

这里是ios新手,请多多包涵。我有一个主视图控制器(mvc),它连接到一个表视图控制器(tc1)。当触摸 tc1 中的一行时,它会转到 (tc2) 以显示第二个 tableview:

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

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

由于 tc1 正在prepareForSegue为 tc2 tableview 启动,因此填充 tc2 的唯一方法似乎是将两个数组传递给 tc1;一个用于 tc1 tableview,另一个用于 tc1 传递给 tc2 in prepareForSegue. 有一个更好的方法吗?

4

2 回答 2

0

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

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

于 2013-09-27T19:46:00.550 回答
0

考虑为表 1 和表 2 使用单独的 uiviewcontroller 类。假设您正在使用情节提要,这意味着两个视图控制器,每个视图都嵌套了表视图。将视图控制器与 segue 连接并命名。

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

于 2013-09-28T04:00:54.623 回答