我有一个名为 guestlist 的实体,它与名为 guest 的实体具有一对多的关系。Guestlist 也与 Invite 实体有关系。
当我使用包含来宾对象的来宾列表创建邀请对象时。它可以很好地保存并在应用程序中正常显示。接下来,我创建另一个具有不同标题的邀请,一个新的来宾列表对象,具有相同的来宾。这也可以很好地保存并在应用程序中正常显示。
问题是当我退出应用程序并重新进入时,只有最近的邀请保留客人列表与客人的关系。来宾列表上的时间戳值存在,但与来宾对象的关系为空。
这是我用来设置对象并将它们保存到商店中的代码。
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;
}