所以我在UITableView中顯示了一些實體。點擊一個單元格我想顯示其他實體已被查詢過的「一對多」關係。已查詢實體的部分
例如,我顯示一所學校的所有課程。現在我想顯示一個班的所有學生。這個學生已經可以作爲NSSet
下Class.students
現在我想顯示學生在不同的部分下面的第一個字母。
,如果我想直接從CoreData得到他們,我會做一些像
// init fetch request
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Student" inManagedObjectContext:self.managedObjectContext];
// Search only specific students
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"class == %@", theClassThoseStudentsBelongTo];
[fetchRequest setPredicate:predicate];
// Generate it
NSFetchedResultsController *theFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:self.managedObjectContext
sectionNameKeyPath:@"firstLetter"
cacheName:@"StudentTable"];
用這種方法,我會得到他們很好的安排段。
但是我已經有了一個特定班級的所有學生。有沒有辦法初始化一個NSFetchedResultsController
初始化爲NSSet
或做一些平等?
當然,我可以手動安排我的NSSet,但不是有這樣一個很好的方式就像它是一個新的查詢?
在此先感謝。 如果不清楚請留下評論。
好奇的答案,我很久以前就有過這個問題,並採取了手動實施一切(不難做,但不方便,不優雅)的岩石之路。 – Till
你想要在單個tableview中完成所有這些工作嗎?或者您是否使用Class - >> class.students設置了分層tableview設置? – TechZen
我有一個「班級」的桌面視圖,然後點擊一個班級後,一個桌面與「學生」。 – choise