4

4 つのエンティティを持つデータ モデルがあります。

これが私のモデルです(評判が低いため、ここに画像を添付できません):コアデータモデル

エンティティ「Term」を取得していますが、すべて問題ありませんでした。継承されたエンティティで "セミナー" カウント > 0 が設定されているエンティティをフェッチする述語を作成するにはどうすればよいですか? [NSPredicate preditcateWithFormat:@"seminars.@count > 0"] もちろん機能しません。これは、この関係の定義が抽象的な「用語」にあるためです。

私はすでに関係「セミナー」を抽象的な「用語」に移動しようとしましたが、「セミナー」エンティティから「タイプ」終了「セクション」への関係を定義する方法がわかりません。

ところで、私は fetchedResultController を UITableView セル/セクション/更新/通知魔法のためにそのような方法で使用しています。プログラムで結果をフィルター処理し、コントローラー モデルを自分で埋めることができますが、コア データパラダイムにとどまる方法があれば、それは素晴らしいことです。

モデルへのすべての変更を破棄するまで、しばらくすると Xcode がおかしくなり、クラッシュしました。

私のコードはかなり単純です:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Term" inManagedObjectContext:self.managedObjectContext];
fetchRequest.entity = entity;

fetchRequest.fetchBatchSize = 20;

NSArray *sortDescriptors = @[[[NSSortDescriptor alloc] initWithKey:@"vid" ascending:NO],
                             [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]];

fetchRequest.sortDescriptors = sortDescriptors;

NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"vid" cacheName:CACHE_NAME];

手伝ってくれてありがとう。

4

0 に答える 0