核心数据:从存储获取数据时出现奇怪的崩溃

发布于 2024-10-28 20:13:31 字数 1166 浏览 8 评论 0原文

嗨,得到了字符和项目的一对多关系。一个字符可以容纳一个特定的项目,相同的项目可以被其他人使用。 CharInfo 定义如下:

@property (nonatomic, retain) ItemInfo * slotEar;

CharInfo.slotEar 是对该项目的引用。可选,最小计数 1,最大计数 1 和删除规则 Nulify。 ItemInfo 定义为:

@property (nonatomic, retain) NSSet* slotEar;

ItemInfo.slotEar 是对 char 的引用。可选,一对多,删除规则Nulify。

他们互相引用。 还有一个处理数据的附加类。它也保存参考并提供它用于存储。

ItemInfo *slotEar;

CharInfo 在保存之前创建,如下所示:

当我保存 CharInfo 时,我在 aproviate 插槽中设置了 ItemInfo(来自我的结构)。

    CharInfo *charInfo = [NSEntityDescription
                      insertNewObjectForEntityForName:@"CharInfo" 
                      inManagedObjectContext:managedObjectContext];
charInfo.slotEar = currentChar.slotEar;

保存上下文有效。

当我尝试从商店加载 CharInfo 时,它从现在开始大部分时间都可以工作。重新启动后,他确实在这条线上崩溃了。

curentChar.slotEar = charInfo.slotEar;

如果没有项目引用(零)那么一切都很好。

不幸的是,这次崩溃更多的是停止。没有给出错误,他只是停在调试器中的该行,链接旁边的绿色描述显示: EXC_BAD_ACCESS

似乎我保存的引用或我尝试将其从 CharInfo 带到我的类的方式有问题。有什么想法吗?

已添加截图: XCode4 AppCrash

Hia, got a one to many relation for chars and items. one char can hold a specific item, same item can be used by others.
The CharInfo is defined as follows:

@property (nonatomic, retain) ItemInfo * slotEar;

CharInfo.slotEar is a reference to the item. It is optional, min count 1, max count 1 and delete rule Nulify.
ItemInfo is defined as:

@property (nonatomic, retain) NSSet* slotEar;

ItemInfo.slotEar is a reference to the char. It is optional, one to many and delete rule Nulify.

They are referencing to each other.
There is an additional class that works with the data. It does hold the reference as well and provide it for storing.

ItemInfo *slotEar;

CharInfo get created before saving like this:

When I save the CharInfo, I set the ItemInfo (from my structure) in the aproviate slot.

    CharInfo *charInfo = [NSEntityDescription
                      insertNewObjectForEntityForName:@"CharInfo" 
                      inManagedObjectContext:managedObjectContext];
charInfo.slotEar = currentChar.slotEar;

Saving the context works.

When I try to load the CharInfo from store, it works most of the time from now. After relaunching he does crash at this line.

curentChar.slotEar = charInfo.slotEar;

If there was no item reference (nil) then all is fine.

Unfortunately the crash is more a halt. No error is given, he just stops at that line in the debugger and the green description next to the link says: EXC_BAD_ACCESS

Seems something is wrong with the reference I save or the way how I try to take it from the CharInfo to my class. Any idea?

Screenshot added:
XCode4 AppCrash

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

池予 2024-11-04 20:13:31

核心数据或工作类 ivars 没有错误,但包含 6 个整数的 int 数组填充了 100 个整数。

No bug with core data or the worker class ivars, but with an int array with 6 ints filled with 100 ints.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文