现在我有一个 UITableViewController
,它显示一组 Artist
对象,这些对象使用 NSFetchedResultsController
分类(按字母顺序)。当您点击该列表中的一位艺术家时,将推送第二个 UITableViewController
并显示 artist.shows
对象,也按部分分类(按日期)。
现在我正在“手动”排序第二个数据源 (artist.shows),使用 NSSortDescriptor
和一个 for()
循环来确定在哪里有表格 View 部分(每个月一个部分)。
这是正确的方法吗?创建第二个 NSFetchedResultsController
来对数据进行排序是否更有意义,尽管它基本上是获取我在 artist.shows
中已有的数据?
最佳答案
您绝对应该使用第二个获取结果 Controller 。它可以与第一个共享 managedObjectContext,允许访问该上下文中已经出错的对象。
您需要为 Controller 适本地构建谓词/排序描述符,例如:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"artist.name == %@" argumentsArray:[NSArray arrayWithObject:selectedArtist.name]];
您也可以通过实际的艺术家对象来确定它的范围,但这应该会让您有所了解。
关于iphone - NSFetchedResultsController 和子 UITableViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6400324/