Я работаю над проектом, в котором я использую основные данные, но немного путаю, как использовать его по-разному.Основные данные отношения «один ко многим», сохраняющие сущность объекта
У меня есть две сущности, студентов и колледжа
студентов имеет один-к-одному отношения в колледж. То есть каждый студент будет иметь один колледж. У колледжа есть отношение «один ко многим» к ученику. то есть колледж может иметь много студентов.
Однако, в моем приложении я позволяю пользователю добавлять ученика сначала без какой-либо информации о колледже. Поэтому я поддерживаю отношения в колледже по выбору. Во втором представлении я позволяю пользователю обновлять информацию об учебе студента.
Теперь я добавляю нового ученика. Я просто обновляю основное поле, связанное со студентом (имя, фамилия, возраст и т. Д.). Теперь во втором представлении при обновлении информации о колледже я не уверен, что это правильный способ сделать это с учетом отношений.
Первый взгляд передать объект студента на 2-ой точки зрения, и я обновляя его следующим образом:
College* college = (College*)[NSEntityDescription insertNewObjectForEntityForName:@"College" inManagedObjectContext:self.managedObjectContext];
college.name = @"name"
college.address = @"address"
[college addStudentObject:self.student];
Могу ли я сделать это правильно? , каким должен быть правильный путь:
Добавление объекта колледжа в 2-зрения и присоединительные объект путем добавления объекта студента в студенческом отношении колледжа?
Извлечение объекта студента сначала, а затем получение пустого объекта колледжа из отношения колледжа. Затем обновите объект колледжа данными и сохраните контекст.
Я не уверен, что если второй вариант имеет никакого смысла, но в случае первого варианта, если добавить новый колледж, новый колледж получить связанный с учеником, но старым колледжем остается в базе данных избыточным данные.
Что произойдет, если колледж уже существует (для этого имени и адреса) в MOC? Вариант 2 не имеет смысла, поскольку нет пустого колледжа, есть только «нуль». – Wain
Только что проверил, это добавляет его в любом случае. Поэтому, если я получаю список колледжа, он показывает две записи с одинаковым именем и адресом. – Pixelord
Итак, вы должны добавить некоторый пользовательский интерфейс для выбора существующего колледжа/выбора для добавления нового. Затем подключите ученика к выбранному/новому колледжу. – Wain