NSFetchedResultsController“乱序部分名称”

时间:2012-10-09 18:04:51

标签: uitableview core-data nsfetchrequest nsfetchedresultscontroller magicalrecord

我正在使用MagicalRecord来获取我的数据。在我的应用程序中,我有一个联系人列表,分为联系人组。我在分组UITableView中显示这些联系人组。

例如,我有以下(这是我的期望):

Default Groups  // section header
[Everyone]      // cell row
[Favourites]    // cell row

My Group        // section header
[Coworkers]     // cell row

有时我的小组会混淆:

Default Groups  // section header
[Everyone]      // cell row
[Coworkers]     // cell row

My Group        // section header
[Favourites]    // cell row

我用于排序和分组的每个联系人组名称和组类型。组类型是整数。当我检查他们的属性时,他们确实拥有正确的组类型。

我的FRC看起来像这样:

fetchedResultsController = [ContactGroup fetchAllSortedBy:@"groupName"
                                                ascending:YES
                                            withPredicate:nil
                                                  groupBy:@"groupType"
                                                 delegate:self];

我看到以下错误:

CoreData: error: (NSFetchedResultsController) The fetched object at index 2 has an out of order section name '1. Objects must be sorted by section name'
+[MagicalRecord(ErrorHandling) defaultErrorHandler:](0x2eefb8) Error: The fetched object at index 2 has an out of order section name '1. Objects must be sorted by section name'
+[MagicalRecord(ErrorHandling) defaultErrorHandler:](0x2eefb8) Error Message: The operation couldn’t be completed. (Cocoa error 134060.)
+[MagicalRecord(ErrorHandling) defaultErrorHandler:](0x2eefb8) Error Domain: NSCocoaErrorDomain
+[MagicalRecord(ErrorHandling) defaultErrorHandler:](0x2eefb8) Recovery Suggestion: (null)

如果我需要提供更多详细信息,请告诉我。我有点难过,并不是100%肯定该怎么做。

1 个答案:

答案 0 :(得分:0)

没有使用过MagicalRecord,你可以设置多个排序标准吗?

我假设它正在使用groupBy:作为节名称,所以在这种情况下,我有两个排序描述符,一个用于'groupType',然后第二个用于'groupName'。

这将按照正确的顺序对部分进行排序,然后按照正确的顺序对部分进行排序。