如何访问一对多关系的属性并传递给另一个表视图?
How do I access the attribute of a one to many relationship and pass to another tableview?
所以我在 CoreData 中有两个实体(A 和 B)。 A 有很多 B,B 只能属于一个 A。我已经设法在 tableview 上显示 A,当我点击一个单元格时,它应该转到另一个显示 B 列表的 tableview 控制器。我正在使用 NSFetchedResultsController 来监视我的表视图。在我的 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;
})
我的问题是如何将项目传递给第二个表视图。感谢您的帮助!
所以我阅读了更多关于故障的内容,了解到它实际上不是错误,而是更多的未实现的对象。当它被调用时,它将成为一个真实的对象。在我的例子中,我有一个一对多的关系,所以实体 B 是 A.h 文件中的一个 NSSet。我只需要创建一个 NSMutableSet 并使用上面的代码对其进行初始化。
所以我在 CoreData 中有两个实体(A 和 B)。 A 有很多 B,B 只能属于一个 A。我已经设法在 tableview 上显示 A,当我点击一个单元格时,它应该转到另一个显示 B 列表的 tableview 控制器。我正在使用 NSFetchedResultsController 来监视我的表视图。在我的 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;
})
我的问题是如何将项目传递给第二个表视图。感谢您的帮助!
所以我阅读了更多关于故障的内容,了解到它实际上不是错误,而是更多的未实现的对象。当它被调用时,它将成为一个真实的对象。在我的例子中,我有一个一对多的关系,所以实体 B 是 A.h 文件中的一个 NSSet。我只需要创建一个 NSMutableSet 并使用上面的代码对其进行初始化。