コア データに 3 つのエンティティが保存されています。これらをアプリのいくつかのView Controllerにロードしています.3つすべてからデータをロードすることもあります.以下は、このデータをロードして配列に割り当てる方法です. 配列に入ったら、アプリの現在のページに応じて、並べ替え、フィルター、カウント、または必要なことを何でも行います。
if (managedObjectContext == nil)
{
managedObjectContext = [(AppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
[request setReturnsObjectsAsFaults:NO];
NSError *error = nil;
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResults == nil)
{
// Handle the error.
NSLog(@"mutableFetchResults == nil");
}
[self setEventsArray:mutableFetchResults];
私が抱えている問題は次のとおりです。
- 重複したコードをたくさん持つのは好きではありません。これは、コア データが必要なすべてのビュー コントローラーに表示されます。
- 1 つのエンティティから、画像のバイナリ データを保存していますが、そのデータを読み込むときに遅延が発生しています
それで、次のような条件を使用してコアデータからロードする方法はありますかeventId = [NSString stringWithFormat:@"%@", currentEventId]
OR (そしておそらくより適切) には、アプリの起動時にデータをロードする別のクラスがあります。次に、(ロードされたデータの) クラス配列にアクセスして、現在のページに使用できます。オブジェクトを保存、編集、または削除する場合は、データをリロードするだけです。
どんな助けでも大歓迎です。