gpt4 book ai didi

iphone - 添加要存储的新对象时核心数据关系丢失

转载 作者:行者123 更新时间:2023-11-28 20:35:02 25 4
gpt4 key购买 nike

我有一个名为 gueSTList 的实体,它与一个名为 guest 的实体具有一对多关系。 GueSTList 也与 Invite 实体有关系。

当我使用包含 guest 对象的 guest 列表创建邀请对象时。它可以很好地保存并在应用程序中正常显示。接下来,我创建了另一个具有不同标题的邀请,一个新的 guest 列表对象,以及相同的 guest 。这也可以很好地保存并在应用程序中正常显示。

问题是,当我退出应用程序并返回时,只有最近的邀请保留 guest 列表与 guest 的关系。 guest 列表上的时间戳值存在,但与 guest 对象的关系为空。

这是我用来设置对象并将它们保存到商店中的代码。

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;
}

最佳答案

如果 guest 列表与 guest 具有一对多关系,则 guest 只能连接到一个 guest 列表。实际上,这意味着只有您分配给它的最后一个客人列表(无论是隐式还是显式)都会保留下来。

您想将这种关系更改为多对多。

关于iphone - 添加要存储的新对象时核心数据关系丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10876212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com