如何访问一对多关系的属性并传递给另一个tableview?

时间:2015-06-14 00:58:16

标签: uitableview core-data nsfetchedresultscontroller nsmanagedobject

所以我在CoreData(A和B)中有两个实体。 A有很多B,B只能属于一个A.我已经设法在一个tableview上显示A,当我点击一个单元格时,它应该转到另一个显示B列表的tableview控制器。我使用NSFetchedResultsController来监视我的tableview。在我的didSelectRowAtIndexPath方法中,我有:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.tappedIndex = indexPath;
NSLog(@"Index tapped is %@",self.tappedIndex);
NSLog(@"%@",[self.fetchedManagedResultsController objectAtIndexPath:self.tappedIndex]   );

}

NSLog的输出是:

<B: 0x1700b1a00> (entity: B; id: 0xd000000000500000 <x-coredata://5A01CF10-0E90-496F-9B84-FAF68346D6DC/Customer/p20> ; data: {
items = "<relationship fault: 0x174221ee0 'items'>";
name = "Connie  Brittani  ";
phone = 8034233759;

})

我的问题是如何将项目传递到第二个tableview。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

所以我读了更多关于错误的内容,并了解到它实际上不是一个错误,而是一个未实现的对象。当它被调用时它将成为一个真实的对象。在我的例子中,我有一对多的关系,所以实体B是A.h文件中的NSSet。我只需创建一个NSMutableSet并使用上面的代码初始化它。