У меня есть 1-много отношений, и я успешно помещаю в него данные. Проблема в том, что я не могу извлечь ее через атрибут отношения.Основные данные: Получить всех детей в отношениях от 1 до многих.
Мой ADD Код:
NSManagedObjectContext *context = [[CBICoreDataController sharedInstance] masterManagedObjectContext];
NSManagedObject *orders = [NSEntityDescription
insertNewObjectForEntityForName:@"UnsyncedOrders"
inManagedObjectContext:context];
[orders setValue:[dictionary valueForKey:@"specialInstructions"] forKey:@"specialInstructions"];
[orders setValue:[dictionary valueForKey:@"poNumber"] forKey:@"poNumber"];
[orders setValue:[dictionary valueForKey:@"specialInstructions"] forKey:@"specialInstructions"];
[orders setValue:[dictionary valueForKey:@"deliveryDate"] forKey:@"deliveryDate"];
[orders setValue:[dictionary valueForKey:@"account"] forKey:@"account"];
NSMutableSet *muteSet=[orders mutableSetValueForKey:@"items"];
for (NSDictionary *dict in [dictionary valueForKey:@"items"]) {
NSManagedObject *items = [NSEntityDescription
insertNewObjectForEntityForName:@"UnsyncedOrderItems"
inManagedObjectContext:context];
[items setValue:[dict valueForKey:@"arraykey"] forKey:@"arrayKey"];
//Other Sets Here
[muteSet addObject:items];
}
[orders setValue:muteSet forKey:@"items"];
NSError *error;
if (![context save:&error]) {
NSLog(@"Error saving in writeToMenuCostingDetailsTable: %@", [error localizedDescription]);
}
Что я для выборки сейчас, но это не работает:
NSFetchRequest * fetchRequest = [[NSFetchRequest alloc] init];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"arrayKey" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSEntityDescription *parent = [NSEntityDescription entityForName:@"UnsyncedOrders"
inManagedObjectContext:context];
NSEntityDescription *child = [NSEntityDescription entityForName:@"UnsyncedOrderItems"
inManagedObjectContext:context];
[fetchRequest setEntity:child];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"orders == %@", parent];
[fetchRequest setPredicate:predicate];
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:context sectionNameKeyPath:nil cacheName:nil];
NSError *error;
[aFetchedResultsController performFetch:&error];
NSArray *fetchedObjects = [aFetchedResultsController fetchedObjects];
Я взял базовый код и вводится его, но теперь я получаю я взял базовый код и добавлен, но теперь я получаю Нагрузочный приложение из-за неперехваченного исключением «NSInvalidArgumentException», причина: ключ «to-many» здесь не разрешен » *** Первый стек вызовов броска – user1079052
NSEntityDescription * parent = [NSEntityDescription entityForName: @" UnsyncedOrders " inManagedObjectContext: context]; NSFetchRequest * request = [[NSFetchRequest alloc] init]; NSPredicate * predicate = [предикат NSPredicateWithFormat: @ "items ==% @", parent]; – user1079052
[запрос комплектPredicate: предикат]; NSSortDescriptor * sortDescriptor = [NSSortDescriptor sortDescriptorWithKey: @ "arrayKey" по возрастанию: YES]; [request setSortDescriptors: @ [sortDescriptor]]; [запрос setEntity: parent]; NSFetchedResultsController * aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest: request managedObjectContext: context sectionNameKeyPath: nil cacheName: nil]; NSError * error = nil; – user1079052