返回一个对象,我有以下核心数据结构:使用NSFetchedResultsController与有序的关系
Event <<-->> Team <<-->> Player
(所有的关系有很多一对多和事件>团队&团队>球员都有序关系)。
伪代码...
self.event = an instance of Event that has been populated earlier on in the process.
linkedTeams = the relationship between Team & Player.
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *thisEntry = [NSEntityDescription entityForName:@"Player" inManagedObjectContext:self.doc.managedObjectContext];
[fetchRequest setEntity:thisEntry];
NSPredicate *fetchPredicate = [NSPredicate predicateWithFormat:@"ANY %@ IN linkedTeams", self.events.teams];
[fetchRequest setPredicate:predicate];
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.doc.managedObjectContext sectionNameKeyPath:nil cacheName:nil];
这将撤出self.event.teams所有球员罚款,谓词的作品,但是,我想有由球队和球员排序的玩家(以使用有序的关系),并分割成部分(使用团队作为部分标题)。
如何订购的玩家按有序的关系,如果直接从玩家的实体拉,好像这恰恰是不可能的NSSortDescriptor?
我不能有“sectionNameKeyPath = linkedTeams.name”因为linkedTeams是一个一对多的关系(尽管它仅会返回1队在这种情况下)。有没有办法做到这一点与NSFetchedResultsController或我最好只是创建自己的数据源形式我的财产self.event?
感谢您的帮助!
谢谢曼迪,请你能在“调整您的数据源的方法来引用队名的栏目标题,并填充行与玩家所订购的关系。”扩大?如果我已经取得团队,我将如何用玩家填充UITableView?这可能使用NSFetchedResultsController? – Darthtong
我的工作了,最终,我选择了与NSFetchedResultsController队然后被操纵的数据源的方法来看看玩家的团队中的对象。 – Darthtong