У меня есть JSON, которые содержат объекты, где каждый объект есть дочерний объект, напримерCoreData выборка вложенных объектов
[
{
"id": 1,
"name": "obj1"
},
{
"id": 2,
"name": "obj2"
},
{
"id": 3,
"name": "obj3",
"child": {
"id": 2,
"name": "obj2"
}
},
{
"id": 4,
"name": "obj4",
"child": {
"id": 5,
"name": "obj5"
}
}
]
Таким образом, в основных данных у меня есть объект MyObject, который имеет отношение к ребенку (к самому себе, к одному) и отношение к родителю (для многих)
Так что, когда я пытаюсь принести объект, предикат как
[NSPredicate predicateWithFormat:@"[email protected] = 0"]
У меня есть только объект с id в [1,3,4], но нет с id = 2 (здесь ошибка) и id = 5 (здесь все правильно), потому что он был установленным родителем, когда он отображается, когда объект с идентификатором = 3 сохранить в базе данных.
Если предикат использования не получил 5 объектов, включите obj5.
Но мне нужно получить из coredata точно счет объекта, что я получил от json.
Мне нужно получить только объект с идентификатором в [1,2,3,4].
Как мне написать предикат, если это возможно?
Итак, вы хотите, чтобы принести объекты верхнего уровня, а не вложенные элементы в формате JSON (что на самом деле никакого отношения к которым пункты родители или дети в хранилище данных)? – Wain
Да, только верхний, но в базовом объекте с id = 2, теперь как второй уровень? –
Почему это неправильно, что вы не получаете obj2? С obj3 вы добавляете родительский объект в obj2, поэтому его родительский 'count' is> 0 – geo