2011-07-13 29 views
2

我想從CoreData使用NSFetchedResultController填充表視圖。 問題是我想使用2個實體來填充NSFetchedResultController多個NSFetchedResultsController在一個表視圖

其中一個實體稱爲文件夾,另一個是文檔。 這些實體之間的關係是在服務器端實現的。

如何在一個類/ TableView中添加多個NSFetchedResultController?

或者有更好的選擇,我可以expliore。

感謝您的幫助。

回答

2

這一切都取決於你如何實施UITableViewDataSource方法。你會失去一些優點,但它應該是可行的。

我有時會調換顯示兩個不同的實體類型(FRC =獲取結果控制器)之間,...

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    NSInteger n = [[[self frcForTable:tableView] sections] count]; 
    return n; 
} 

如果你共同交融,從獲取的成果控制器的結果,複雜性將取決於如何你正在這樣做。如果你把一個類型放在頂部,一個放在最下面,它應該比你想要交錯它們更容易。

編輯

實現數據源的方法來「混搭」這兩個結果放在一起:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    NSInteger count1 = [[frc1 sections] count]; 
    NSInteger count2 = [[frc2 sections] count]; 
    return count1+count2; 
} 
當然

,如果你想要一個部分,那麼你就不需要上述,

+0

是的我想把一個類型放在頂部,一個類型放在底部 – iosdevnyc

+0

如何在表格視圖中實現單元格 – iosdevnyc

+0

如果單元格類型會大不相同,只需使用兩個不同的單元格類型。每個應該有它自己獨特的'reuseIdentifier'。 – bshirley