У меня есть два родителя «Родитель» и «Ребенок». Родительская сущность имеет отношение «один-много» к дочернему объекту, а дочерний элемент имеет одно-одно отношение с родителем, а «родительское» сущность имеет уникальный идентификатор (атрибут первичного ключа), который я собираю каждый раз.Разрыв отношений данных ядра при обновлении базы данных - Restkit
Когда я называю API, ответ приходит как этот
{
"parent": {
"ss": "1",
"uid": 200,
"me": "Successfully Retrieved",
"pn": 2,
"cl": [
{
"cid": 1500,
"cn": "XYZ"
},
{
"cid": 1501,
"cn": "ABC"
}
]
}
}
выше ответ успешно отображается в БД. Я могу получить доступ к [parent.childs allObjects], который возвращает два объекта.
У меня есть дополнительная функция загрузки, которая вызывает тот же api и номер страницы, увеличиваемый на 1, и я получаю ответ (3 объекта), похожий на предыдущий. Но когда я пытаюсь получить данные из БД, я получаю только 3 объекта, которые пришли к последнему ответу. Связь для двух объектов, которые я сопоставил ранее, становится пустой. поэтому я не могу получить доступ ко всем объектам. Как я могу получить доступ ко всем данным из БД по отношениям.
Это, как я отображение
RKObjectManager *manager = [[RestKit sharedDataManager] objectManager];
RKEntityMapping *parentMapping = [[MFResponseMapper sharedInstance]parentMapper]; //Primary key is mapping here
RKEntityMapping *childMapping = [[MFResponseMapper sharedInstance]childMapper]; //Child name and Id is mapping here.
[parentMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"cl"
toKeyPath:@"childs"
withMapping:childMapping]];
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:parentMapping
pathPattern:nil
keyPath:@"parent"
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[manager addResponseDescriptor:responseDescriptor];
Примечание: У меня есть удалить правило для Parent-Child (один-много) отношения в модели.
Благодаря
Вы сохраняете базу данных после добавления этих объектов? Существует разница между изменением контекста и сохранением в базовом хранилище. – Bergasms