2012-06-04 6 views
0

У меня есть объект, называемый гостевым списком, который имеет отношение 1 к многим для объекта, называемого guest. У Guestlist также есть отношение к объекту Invite.Отношения основных данных, потерянные при добавлении нового объекта для хранения

Когда я создаю объект Invite с гостевым списком, который содержит гостевой объект. Это экономит штраф и отображает в приложении штраф. Затем я создаю другой приглашение с другим заголовком, новым объектом списка приглашенных, с тем же гостем. Это также хорошо сохраняет и отображает в приложении приложение.

Проблема в том, что, когда я выхожу из приложения и возвращаюсь обратно, только последний приглашает сохранять отношения гостевого списка с гостями (ами). Значение timestamp в гостевом списке есть, но отношение к объектам guest (s) пусто.

Вот код, который я использую для установки объектов и сохранения их в хранилище.

Invite *invite = (Invite *)[NSEntityDescription insertNewObjectForEntityForName:@"Invite" 
                 inManagedObjectContext:anotherContext]; 

[invite setTitle:[inviteDetailsModel descriptionOfInvite]]; 

GuestList *guestlist = [NSEntityDescription insertNewObjectForEntityForName:@"GuestList" 
                  inManagedObjectContext:anotherContext]; 
[guestlist setGuestlist_to_invite:invite]; 
[guestlist setDateInvited:[NSDate date]]; 

for (Invitee *invitee in [inviteDetailsModel peopleInvited]) { 

     Guest *guest = [NSEntityDescription insertNewObjectForEntityForName:@"Guest" 
                    inManagedObjectContext:anotherContext]; 
     [guest setFirstName:invitee.firstName]; 
     [guest setLastName:invitee.lastName]; 
     [guest setABookID:invitee.guestID]; 

     [guestlist addGuestObject:guest]; 
    } 
} 

[invite setGuestlist:guestlist]; 

NSError *error = nil; 
if(![anotherContext save:&error]) { 
    NSLog(@"Couldnt save our invite data %@",error); 
    return nil; 
} 

ответ

3

Если список гостей имеет отношение к одному человеку, то гость может подключиться только к одному списку гостей. На практике это означает, что будет сохранен только последний список гостей, который вы ему назначили (неявно или явно).

Вы хотите изменить это отношение ко многим.

+0

Вы спасли мою жизнь: O –

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