Iphone 核心数据与谓词的关系

Iphone 核心数据与谓词的关系,iphone,objective-c,core-data,entity-relationship,nspredicate,Iphone,Objective C,Core Data,Entity Relationship,Nspredicate,我有一辆实体汽车和一辆实体赛车。这两个实体都有一个名为carClass的属性。我的问题是,我想在通过carClass连接时在它们之间创建一个关系 基本上,我想在核心数据中创建一个关系,它将代表一场比赛中可能的竞争对手,具体取决于carClass,换句话说,如果我创建一场带有特定carClass的比赛,并且我在那场比赛中调用competitors,我想得到一个具有相同carClass的汽车列表 我的问题是,这是否可以使用核心数据关系创建,我正在考虑向关系中添加NSPredicate 提前谢谢 更新

我有一辆实体
汽车
和一辆实体
赛车
。这两个实体都有一个名为
carClass
的属性。我的问题是,我想在通过
carClass
连接时在它们之间创建一个关系

基本上,我想在核心数据中创建一个关系,它将代表一场比赛中可能的竞争对手,具体取决于
carClass
,换句话说,如果我创建一场带有特定
carClass
的比赛,并且我在那场比赛中调用
competitors
,我想得到一个具有相同
carClass
的汽车列表

我的问题是,这是否可以使用
核心数据关系创建,我正在考虑向关系中添加
NSPredicate

提前谢谢

更新

我想我没有清楚地解释我想要达到的目标

Car{
  carClass:string
}

Race{
 carClass:string
 competitors<-->>cars.carClass == carClass
}
汽车{
类别:字符串
}
比赛{
类别:字符串
竞争对手>汽车。汽车等级==汽车等级
}

而且
竞争者
应该自动获取,因此我不必手动添加竞争者,他应该从汽车模型中检索所有匹配的汽车。

确保这是可能的。但是,为什么不在设置比赛时检查每一辆车的等级,如果等级匹配,就将其添加到比赛中呢?

当然可以。但是,为什么不在设置比赛时检查每一辆车的等级,如果等级匹配,则将该车添加到比赛中?

最简单的车型如下所示:

CarClass{
    name:string
    race<-->Race.carClass
    cars<-->>Car.carClass
}

Car{
    name:string
    carClass<<-->CarClass.cars
}

Race{
    name:string
    carClass<-->>CarClass.race
}
(请注意,该模型假设所有比赛均由其车辆等级定义,而非单个车辆或驾驶员。)

因此,要查找某一特定比赛的所有参赛者,您可以步行
race.carClass.cars.competitor


这可能不是您想要的,但您可以了解如何使用实体和关系来建模真实世界的对象、事件或条件以及它们之间的联系

最简单的模型如下所示:

CarClass{
    name:string
    race<-->Race.carClass
    cars<-->>Car.carClass
}

Car{
    name:string
    carClass<<-->CarClass.cars
}

Race{
    name:string
    carClass<-->>CarClass.race
}
(请注意,该模型假设所有比赛均由其车辆等级定义,而非单个车辆或驾驶员。)

因此,要查找某一特定比赛的所有参赛者,您可以步行
race.carClass.cars.competitor


这可能不是您想要的,但您可以了解如何使用实体和关系来建模真实世界的对象、事件或条件以及它们之间的联系

需要处理的案件太多。如果我在比赛结束后添加更多的赛车会怎么样?我必须再次手动添加它们。而且这个解决方案并不完全一致。但是如果你能给我一个这样做的证明,我会很高兴的。谢谢。需要处理的案件太多了。如果我在比赛结束后添加更多的赛车会怎么样?我必须再次手动添加它们。而且这个解决方案并不完全一致。但是如果你能给我一个这样做的证明,我会很高兴的。谢谢。谢谢你的回答,我更新了我的问题,因为我觉得我没有很好地解释我的问题。谢谢。如果我理解正确,我必须创建一个名为
carClass
的类,而不是只使用字符串,并且我必须创建与
Car
类以及
Race
类的关系。然后使用
Race.carClass.cars
从该
carClass
获取车辆列表。是的,这将逻辑地将所有数据绑定在一起。当然,你的实际模型可能在细节上有所不同,但你明白了。当相同的值出现在两个现有实体中,并且您发现自己基于该值获取这两个值时,该值可能需要它自己的实体和关系。感谢您的回答,我更新了我的问题,因为我认为我没有很好地解释我的问题。谢谢。如果我理解正确,我必须创建一个名为
carClass
的类,而不是只使用字符串,并且我必须创建与
Car
类以及
Race
类的关系。然后使用
Race.carClass.cars
从该
carClass
获取车辆列表。是的,这将逻辑地将所有数据绑定在一起。当然,你的实际模型可能在细节上有所不同,但你明白了。当相同的值出现在两个现有实体中,并且您发现自己基于该值获取这两个值时,该值可能需要自己的实体和关系。