I’ve got a problem with UITableViews and many-to-many relationships.
I have two classes, A and B, that both extend NSManagedObject and live in Core Data. Each has a to-many relationship to the other:
A<<–>>B
I would like to use objects of class A as the sections of a UITableView, and it’s set of B objects as “data rows” in the TableView. Is this possible, and what would be the best approach to achieve this? Preferably I would like to use a NSFetchedResultsController to manage the data presented by the UITableView, but so far I have not been able to come up with a predicate and section name key path that works.
I would use NSFetchedResultsController to watch over the A objects. Use your fetched results to populate the section titles. Then when you are looking to populate your “data rows”, you can find your current A object (by using
[[fetchedResultsController fetchedResults] objectAtIndex:indexPath.section]or something similar) and extract the B objects from it withA.BOjbects, which returns the NSSet of all B objects associated with the A object. After doing that, you can filter or sort the list as you please before placing them in the rows