我将各种实体保存到核心数据中。每次我需要访问这些数据时,我都会从核心数据中读取数据并将所需的实体分配给一个可变数组。
if (managedObjectContext == nil)
{
managedObjectContext = [(iForgetAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSError *error = nil;
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResults == nil)
{
// Handle the error.
NSLog(@"mutableFetchResults == nil");
}
[self setEventsArray:mutableFetchResults];
[eventsTableView reloadData];
问题是,我正在从应用程序的许多不同页面中检索这些数据。
使用 Core Data 的最佳实践是什么?我应该只在 App Delegate 中加载数据并在那里分配数组吗?
非常感谢所有建议。