2013-03-06 71 views
1

我使用NSFetchedResultsController及其委托来填充tableview与核心数据管理对象,as described here数据的到来。NSFetchedResultsController和桌子部分

但是,我找不到一种方法来做一些有点不同的事情:我需要我的表的第一部分有一些自定义的静态内容,而表的第二部分应该接收对象数组的内容NSFetchedResultsController它的行。

我该如何具体告诉我的NSFetchedResultsController将所有取得的内容放入第1部分而不是0?

回答

1

如果您的静态内容足够简单,您还可以将它全部放入标题(而不是第0部分)。

- (void)viewDidLoad 
{ 
    UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)]; 
    // add labels, buttons, etc to header 
    // ... 
    self.tableView.tableHeaderView = header; 
} 
+0

这就是我所需要的。谢谢! – marcelorocks 2013-03-07 12:12:45

3

与其尝试操纵数据源,不如修改发送给UITableView的内容。例如,如果它要求分区的计数,则返回1 +由您提取的结果控制器报告的分区数量。如果它要求一个单元格,只检查你是否在第0部分并且是特例。

通常,MVC下的职责分离意味着您的控制者应负责提供自定义内容而不是您的模型。您的模型不应该知道应该如何呈现数据。通过这种方式,您可以以多种方式呈现相同的数据,而不会破坏一个难看的解决方案。

+0

我实际上是在控制器层面上处理这个问题,而不是在模型上。你的解决方案为我工作,但我真正需要的是下面的答案,表头:)。也许这是我没有正确表达我的问题。 – marcelorocks 2013-03-07 12:12:29

相关问题