2013-05-15 2 views
0

Я новичок в Core DataКак проверить, является ли аффилированной или не другому лицу

У меня есть 2 Entities Routine и Exercise, которые связаны, как Routine.exercise и Exercise.routine. User Routine имеет имя, и пользователь выполняет упражнение.

Я попытался , а также пытался Routine.exercise = Exercise, но этого нужно просто это дает мне предупреждение о том, Comparision of distinct pointer type (NSSET and Exercise) и я также пытался делать Routine.exercise.name = @"theName" но я толкал его, как я могу получить имя упражнения, как ...

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

В основном я просто хочу знать, установил ли Упражнение отношения или нет с рутиной. Может ли кто-нибудь помочь мне с этим вопросом, пожалуйста?

это отношения многие ко многим

enter image description here

+0

A. A.erer A to-many отношения? Если это так объясняет предупреждение, поскольку они хранятся в виде NSSet. –

+0

- отношение «многие ко многим» –

ответ

2

Попробуйте что-то вроде этого:

Получить объекты, которые вы хотите проверить

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

Проверьте, если упражнение содержится в набор объектов в связи

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

Поскольку это отношение «многие ко многим», вы не можете использовать Routine.exercise = Exercise, потому что это отношение NSMutableSet. Ниже приведен правильный способ добавления объекта к взаимосвязи:

NSMutableSet *rel = [routineObject mutableSetValueForKey:@"exercise"]; 
[rel addObject:exerciseObject]; 
Смежные вопросы