2

我刚刚开始使用MagicalRecord 库,以便更轻松地使用 CoreData。我正在使用 FRC,但不知道如何使用自定义 sortDescriptor 进行设置,例如

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]
                        initWithKey:@"someAttribute"
                          ascending:YES
                           selector:@selector(localizedCaseInsensitiveCompare:)];

目前我检索 FRC 的电话是这样的:

_fetchedResultsController = [Language MR_fetchAllSortedBy:@"someAttribute"
                                                ascending:YES
                                            withPredicate:nil
                                                  groupBy:nil
                                                 delegate:self];

似乎我正在寻找一种“简单”地将自定义选择器添加到 MR_fetchAllSortedBy 的方法。就像是:

_fetchedResultsController = 
       [Language MR_fetchAllSortedBy:@"someAttribute"
                           ascending:YES
                            selector:@selector(localizedCaseInsensitiveCompare:)
                       withPredicate:nil
                             groupBy:nil
                            delegate:self];

谁能给我一些关于如何实现这一目标的指示?使用类别可能吗?

提前致谢,

乔斯。

4

1 回答 1

0

我今天遇到了完全相同的问题。您不能通过 MR_FindAll 方法设置自定义排序描述符,但您可以创建自己的 fetch 请求,同时仍然利用 Magical Records 样板代码:

NSFetchRequest *fetchRequest = [Sites MR_createFetchRequest];
fetchRequest.sortDescriptors = @[[[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]];

self.sitesArray = [NSManagedObject MR_executeFetchRequest:fetchRequest];
于 2013-10-23T05:51:00.227 回答