При работе с базовыми данными лучше всего думать о ваших сущностях как об объектах в графе объектов, а не в таблицах базы данных. Следовательно, вам не нужно извлекать объекты, связанные с другими, используя предикат. Вместо этого перемещайтесь по графу объектов, используя отношения, определенные в модели. Чтобы получить все изображения, связанные с myObject
:
// assuming the relationships are called 'myObjectProperties' and 'myObjectPropertyImage', respectively
NSSet *allImages = [myObject.myObjectProperties valueForKey:@"myObjectPropertyImage"];
Обратите внимание, что это может вызвать дополнительные поездки в базу данных, если ваш граф объектов не загружен в память для вашей сущности myObject
. Чтобы избежать этого, убедитесь, что в запросе на выборку вы установили ключевые пути предварительной выборки для myObject
.
Надеюсь, это поможет ...