У меня есть сущности Клиент и сущности Задание.
Каждое задание может иметь одного клиента. Отношение для заданий клиента (client‹-->>job) называется jobOfClient.
У каждого клиента может быть много заданий. Отношение для клиента задания (задание‹‹-->клиент) называется clientOfJob.
(Конечно, это обратные отношения.)
У меня есть некоторые предикаты, которые работают, но последний не работает. Опуская часть настройки fetchedResultsController, вот несколько ключевых строк кода для трех случаев:
Здесь я сортирую вакансии, ищу работы, которые не связаны ни с одним клиентом:
NSEntityDescription * entity = [NSEntityDescription entityForName:@"Job" inManagedObjectContext:dataInterface.managedObjectContext];
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"clientOfJob == nil"];
Здесь я перебираю вакансии, ищу вакансии конкретного клиента:
NSEntityDescription * entity = [NSEntityDescription entityForName:@"Job" inManagedObjectContext:dataInterface.managedObjectContext];
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"clientOfJob == %@", userState.selectedClient];
Но этот следующий не работает. Здесь я сортирую клиентов, ища одного клиента, связанного с выбранной работой (или не возвращаю результата, если связанного клиента нет, но здесь это не так).
NSEntityDescription * entity = [NSEntityDescription entityForName:@"Client" inManagedObjectContext:dataInterface.managedObjectContext];
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"jobOfClient == %@", userState.selectedJob];
Сообщение об ошибке: Завершение работы приложения из-за необработанного исключения "NSInvalidArgumentException", причина: "Ключ для многих не разрешен здесь"
Здесь должно быть что-то тонкое, чего я не понимаю. Может ли кто-нибудь помочь мне с **информацией, которую я дал?