我有一个数据模型,我没有逆关系,我想知道是否有办法解决这个问题,因为XCode在抱怨,苹果说实体应该有一个相反的。
我正在通过一个json获得一些玩家统计数据。为了简化它,Player对3种游戏模式有一些统计数据,只有3种游戏模式别名Kits。每个Kit都具有相同的属性,如name、score或time。
json看起来像这样
{
"player": {
"uid": "123456",
"name": "FooBar",
"kits": {
"support": {
"id": 32,
"score": 0,
"stars": 0,
"name": "Support",
"time": 0,
"spm": 0
},
"assault": {
"id": 1,
"score": 27624,
"stars": 0,
"name": "Assault",
"time": 5329,
"spm": 311.022706
},
"engineer": {
"id": 2,
"score": 44639,
"stars": 0,
"name": "Engineer",
"time": 5758,
"spm": 465.151094
}
}
}
}我的模特是这样的

这样,我就可以在代码中访问Kits
Player *player = ....
Kit *supportKit = player.kits.support;
...
// do whatever I want with the support kit问题是,我的模型错了吗?我如何建模核心数据,其中的关系“一对多”,但限于一个给定的数字和哪里的有序物质。
干杯,简
发布于 2014-02-24 17:31:05
我在您的数据中只看到两个表-- player和"kit“,包括3种类型的id=1 =袭击、id=2 = engineer和id = 32是支持的。
您需要在这两个表之间建立逆关系,因此person_to_kit是1比多,而kit_to_person是1比1.这种关系是虚拟的,而不是基于任何特定的字段,尽管您的各个表将要求指定键。
发布于 2014-02-24 17:43:00
首先,在Core数据中始终应该有一个逆关系。即使你不使用这种关系--核心数据也会。
第二,核心数据不是数据库。它是一个可以持久化到数据库的对象映射。因此,您不需要外键或ids或其他任何东西来表示关系。关系细节由Core数据处理。
如果这不是一个需要迁移的现有应用程序,那么只需在模型中添加一个反向关系,并将其设置为逆关系。你不需要使用它,你不需要设置它或以任何方式触摸它。把它放在那里只是为了核心数据。
https://stackoverflow.com/questions/21993160
复制相似问题