0

我是核心数据的新手

我有 2 个实体RoutineExercise它们与 Routine.exercise 和 Exercise.routine 相关。用户例程有一个名称,用户锻炼也有一个名称。

我尝试了也尝试了 jsutRoutine.exercise = Exercise但这给了我一个警告说 Comparision of distinct pointer type (NSSET and Exercise)我也尝试过Routine.exercise.name = @"theName"但我正在推动它因为我无法获得这样的运动名称......

if (Routine.exercise == Exercise.routine) {
NSLOG(@"YES");
} else {
NSLOG(@"NO");
}

基本上我只想知道运动是否与常规建立了关系。有人可以帮我解决这个问题吗?

是多对多关系

在此处输入图像描述

4

2 回答 2

2

尝试这样的事情:

获取要测试的对象

Routine *testRoutine = ...;
Exercise *testExercise = ...;

检查练习是否包含在关系中的对象集中

if ([testRoutine.exercise containsObject:testExercise]) {
    ...
}
于 2013-05-15T23:18:13.283 回答
0

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

NSMutableSet *rel = [routineObject mutableSetValueForKey:@"exercise"];
[rel addObject:exerciseObject];
于 2013-05-16T03:32:55.160 回答