来自2个实体的fetchedResultsController

时间:2011-01-18 06:57:06

标签: iphone core-data nsfetchedresultscontroller

我正在学习CoreData并开始在我的一个项目中使用它。

我使用fetchedResultsController从CoreData中获取数据以填充uitableview就好了。

我遇到的问题是我需要从2个实体中填充1个表。 这就是我现在所拥有的

   NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Contact" inManagedObjectContext:delegate.managedObjectContext];

  [fetchRequest setEntity:entity];

这只会从“联系人”实体获取数据,但我还需要使用“类别”实体中的数据填充表格。我不知道该怎么做。

基本上是最终结果,我希望tableview显示类似的内容 (假设联系人有3个,类别有2个项目)

uiTableindex0 :  fetchContact 0

uiTableindex1 :  fetchContact 1

uiTableindex2 :  fetchContact 2

uiTableindex3 :  fetchCategory 1

uiTableindex4 :  fetchCategory 2

1 个答案:

答案 0 :(得分:1)

@Suwitcha Sugthana在这种情况下,我建议你将来自两个不同实体的数据填充到两个不同的数组中,假设它们是(myArray1和myArray2),方法是使NSFetchRequest个对象不同。并打印两个数组像这样的细胞......

if(indexPath.row<[myArray1 count])
 {
  cell.text=[myArray1 objectAtIndex:indexPath.row];
 }
 else 
  cell.text=[myArray2 objectAtIndex:(indexPath.row-[myArray1 count])]

//myArray1 has data of contact
//myArray2 has data of catagory

你将通过这个获得所需的格式..........希望这可以帮助你!!!