Ios 如何检查一个实体是否与另一个实体相关

Ios 如何检查一个实体是否与另一个实体相关,ios,xcode,cocoa-touch,core-data,Ios,Xcode,Cocoa Touch,Core Data,我不熟悉核心数据 我有两个实体Routine和Exercise,它们与Routine.Exercise和Exercise.Routine相关。 用户例程有名称,用户练习也有名称 我试过了 还尝试了jsutRoutine.exercise=exercise,但这给了我一个警告说比较不同指针类型(NSSET和exercise),我也尝试了Routine.exercise.name=@“theName”,但我一直在推它,因为我无法得到这样的运动名称 if (Routine.exercise == Ex

我不熟悉核心数据

我有两个实体
Routine
Exercise
,它们与Routine.Exercise和Exercise.Routine相关。 用户例程有名称,用户练习也有名称

我试过了 还尝试了jsut
Routine.exercise=exercise
,但这给了我一个警告说
比较不同指针类型(NSSET和exercise)
,我也尝试了
Routine.exercise.name=@“theName”
,但我一直在推它,因为我无法得到这样的运动名称

if (Routine.exercise == Exercise.routine) {
NSLOG(@"YES");
} else {
NSLOG(@"NO");
}
基本上,我只是想知道运动是否与日常生活建立了联系。有人能帮我解答这个问题吗


是一种多对多的关系

if ([testRoutine.exercise containsObject:testExercise]) {
    ...
}

试试这样的方法:

获取要测试的对象

Routine *testRoutine = ...;
Exercise *testExercise = ...;
检查练习是否包含在关系中的对象集中

if ([testRoutine.exercise containsObject:testExercise]) {
    ...
}

由于这是一个多对多关系,因此不能使用
Routine.exercise=exercise
,因为该关系是一个NSMutableSet。以下是向关系中添加对象的正确方法:

NSMutableSet *rel = [routineObject mutableSetValueForKey:@"exercise"];
[rel addObject:exerciseObject];

A.userB是一对多关系吗?如果是这样,则可以解释警告,因为它们存储为NSSet。是一种多对多关系