2015-04-07 3 views
0

У меня есть анимация фильма, которая имеет взаимно-однозначное отношение к объекту фильма. Обратная связь (фильм -> просмотр фильма) - это отношения «один ко многим». Если фильм удален, связанные эпизоды с фильмами также будут удалены, но если время просмотра фильма будет удалено, связанный фильм останется. (Не знаю, насколько это актуально, но хотелось бы уточнить ситуацию настолько, насколько я мог)Получение только соединенных объектов из данных ядра

Теперь, есть способ запросить Core Data, чтобы получить только уникальные фильмы, для которых у меня есть времяпрепровождение?

Можно ли выбрать из сеанса фильма и каким-то образом ограничить результаты только соответствующими уникальными фильмами? Или выбор из объекта фильма приведет только к фильмам с соответствующей строкой в ​​объекте showtime?

ответ

0

Несомненно. Напишите запрос на выборку в фильме без ограничений, и вы получите все экземпляры Movie.

+0

Спасибо, хотя я был только после фильмов с шоу-шоу против них (извинения, если я не сделал это ясно). – bcl

+0

Хорошо, в конце концов я написал запрос на выборку, чтобы вытащить фильмы с предикатом того, что должен быть соответствующий объект showtime, т. Е.! (ANY (showtime) = Nil), казалось, сделал трюк. Это лучший способ сделать это? – bcl

0

Принимая ваши вопросы, в свою очередь:

Теперь, есть способ запроса основных данных, чтобы получить только уникальные фильмы, которые у меня есть расписание сеансов?

Вы можете использовать предикат для выбора movies где отсчет showtimes больше нуля:

"[email protected] > 0" 

Можно ли выбрать один из сеансов фильма и каким-то образом ограничить результаты только связанные уникальные фильмы?

Если у вас есть (любезность вашего первого запроса) массив (скажем scheduledMovies) из movies, которые имеют showtimes, то вы можете получить соответствующий showtimes используя предикат, как это:

"movie IN %@", scheduledMovies 

Или выбор из объекта фильма приведет только к фильмам с соответствующей строкой в ​​объекте showtime?

Если вы запрашиваете movies, то вы получите все movies, если не указать предикат согласно вашему первому вопросу. Но если вы запрашиваете showtimes, вы можете получить массив соответствующего movies с использованием ключа кодирования значения с ключом:

"@distinctUnionOfObjects.movie" 

Полученный массив не будет иметь никакого movies, не showtimes. (Первая часть этого ключа удаляет любые дубликаты, так как несколько showtimes могут иметь одинаковые movie).

Смежные вопросы