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
获取车辆列表。是的,这将逻辑地将所有数据绑定在一起。当然,你的实际模型可能在细节上有所不同,但你明白了。当相同的值出现在两个现有实体中,并且您发现自己基于该值获取这两个值时,该值可能需要自己的实体和关系。