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。有更好的方法吗?
答案 0 :(得分:0)
我认为你使用的数组是某些模型的一部分。创建一个单独的模型类层次结构,可能还有一个DataAdapter(一个将充当模型上下文的类)。因此,当您提供控制器时,您可以从适配器请求数据,例如:self.users= [[DataAdapter instance] allUsers];
。
如果您传递的数据用于临时显示某些内容,或者不是模型的一部分,则在prepareForSegue调用中传递它没有任何问题。
答案 1 :(得分:0)
考虑为表1和表2使用单独的uiviewcontroller类。假设您使用的是故事板,这意味着两个viewcontrollers,其中tableviews嵌套在每个视图中。使用segue连接viewcontrollers并命名它们。
声明相应的属性,记住导入标题,你应该能够。)使用你熟悉的prepareforsegue方法,b。)用传递的数据填充表行。