2013-03-06 75 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

相關問題