2

CoreData の操作を簡単にするために、 MagicalRecord ライブラリの使用を開始しました。FRC を使用していますが、次のようなカスタム sortDescriptor を使用して FRC を設定する方法がわかりません。

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 メソッドを使用してカスタムの並べ替え記述子を設定することはできませんが、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 に答える