【问题标题】:Sorting Core Data Objects using NSFetchedResultsController使用 NSFetchedResultsController 对核心数据对象进行排序
【发布时间】:2013-04-11 06:26:35
【问题描述】:
我有两个实体如下
项目 > 类别
每个项目可能有多个类别。
例如有 5 个项目,每个项目的排序类别为 release_Date。我想根据 release_Date 对所有这 5 个项目进行排序,表视图标题作为每个项目的 release_Date 值。
我想根据用户从弹出窗口中选择的类别值对这些项目进行排序。我还想在分段表视图中显示排序后的对象,表头是选择的类别值。
我为此使用 nsfetchedresultscontroller。我能够根据项目的名称对项目进行排序。但是我发现使用关系属性对它们进行排序没有运气。
任何形式的帮助都是可观的。
【问题讨论】:
标签:
ios
ipad
uitableview
core-data
nsfetchedresultscontroller
【解决方案1】:
如果我正确理解你的模型,你可以很容易地使用多个排序描述符来做到这一点。
NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"Categories.release_Date" ascending:NO];
NSArray *sortDescriptors = @[sortDescriptor1, sortDescriptor2];
[fetch setSortDescriptors:sortDescriptors];