在我的核心数据中,有2个实体,即Order和OrderItems
每个订单都包含各种OrderItem。
在我的ExportReportViewController中,我编写了基于两个给定日期检索订单的代码,我想将它们写入csv文件并通过电子邮件发送给需要该信息的人。
但是有一个问题,我无法使用fetchedresultscontroller访问我检索到的单个对象,这导致我无法检索与每个订单绑定的订单项。
我检索对象的代码是
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Sale"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"createdAt >= %@ && createdAt < %@", fromDate, toDate];
[fetchRequest setPredicate:predicate];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"createdAt" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:context sectionNameKeyPath:nil cacheName:nil];
[self.fetchedResultsController setDelegate:self];
NSError *error = nil;
[self.fetchedResultsController performFetch:&error];
使用这行代码,我能够检索我检索到的订单的所有OrderID,
NSArray *orderIDArray = [[self.fetchedResultsController fetchedObjects] valueForKey:@"orderID"];
在我的另一个作为tableview的控制器中,我只能使用以下代码行访问各个对象:
NSManagedObject *order = [self.fetchedResultsController objectAtIndexPath:indexPath];
这一行后面的内容让我可以检索与每个订单相关的订单项数组
NSArray *orderItems = [[order mutableSetValueForKey:@"orderitems"]allObjects];
然而,因为这只是一个viewcontroller,我无法做到这一点,因为没有indexpath。
任何人都知道如何访问从fetchedresultscontroller检索到的各个对象?