Iphone NSFetchedResultsController和子UITableViewController

Iphone NSFetchedResultsController和子UITableViewController,iphone,ios,core-data,Iphone,Ios,Core Data,现在我有了一个UITableViewController,它使用nsfetchedresultscoontroller将一组Artist对象按部分(字母顺序)排序。当您点击该列表中的艺术家时,会按下第二个UITableViewController,并显示artist。显示对象,也按日期排序为部分 现在我正在“手动”对第二个数据源(artist.shows)进行排序,使用nssortddescriptor和for()循环来确定表视图部分的位置(每个月一个部分) 这样做对吗?创建第二个NSFetch

现在我有了一个
UITableViewController
,它使用
nsfetchedresultscoontroller
将一组
Artist
对象按部分(字母顺序)排序。当您点击该列表中的艺术家时,会按下第二个
UITableViewController
,并显示
artist。显示
对象,也按日期排序为部分

现在我正在“手动”对第二个数据源(artist.shows)进行排序,使用
nssortddescriptor
for()
循环来确定表视图部分的位置(每个月一个部分)


这样做对吗?创建第二个
NSFetchedResultsController
对数据进行排序是否更有意义,尽管它基本上是获取我在
artist.shows
中已有的数据?

您肯定应该使用第二个获取结果控制器。它可以与第一个共享managedObjectContext,从而允许访问该上下文中已经出现故障的对象

您需要为控制器适当地构造谓词/排序描述符,例如:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"artist.name == %@" argumentsArray:[NSArray arrayWithObject:selectedArtist.name]];
你也可以通过实际的艺术家对象来确定它的范围,但这应该会给你一个想法