我应该最初获取所有对象还是加载每个视图控制器?

时间:2011-10-23 00:31:32

标签: iphone ios coding-style

马上感谢。这是我的第一个问题,很高兴加入iOS开发者社区。我有一个核心数据实体(比如汽车)。我有一个带有两个标签的标签视图控制器 - 一个显示所有汽车,另一个显示所有类型的汽车(雪佛兰,福特等)。这个问题涉及第二个视图控制器。我的问题是 - 我是否想要在加载选项卡时获取所有我的汽车,然后在选择行时传递该类型的所有相关汽车,或者我是否想在选择一行后获取我的结果意味着我有每种类型的汽车都有不同的视图控制器?

更新: 我确实有两个表视图。具有类型的第二个具有类型列表。当选择一行时,我很好奇我是否应该将相关汽车传递给此VC或获取结果?

1 个答案:

答案 0 :(得分:0)

我说你使用2个ViewControllers:1用于所有汽车,然后1用于所有相关车型。您可以从FirstVC(您将初始数组汽车,或字典,如果您)传递给第二个VC并调整VC外观,从而传递相关数据(比如一组carmodels)相应

(似乎你想使用UITableView来做到这一点,将这些类型的消息传递给新的VC非常简单并且无论如何都要进行自定义)


您将在AppleDoc中找到您的UITableView答案:http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITableView_Class/Reference/Reference.html

UITableView对象必须具有充当数据源的对象和充当委托的对象;通常,这些对象是应用程序委托,或者更常见的是自定义UITableViewController对象。数据源必须采用UITableViewDataSource协议,委托必须采用UITableViewDelegate协议。数据源提供UITableView在插入,删除或重新排序表的行时构造表和管理数据模型所需的信息。委托提供表使用的单元格并执行其他任务,例如管理附件视图和选择。

您寻求的其中一种委托方法是

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

当您在tableView中选择一行时,将触发此方法。在此方法中,您希望调用并显示新VC,这也是将相关数据传递给新VC时的情况。上述其余部分仍将保持不变。

祝你好运。