Я все еще изучаю свой путь в разработке для iOS и работе с Core Data и только что натолкнулся на сохранение циклов.
Насколько я понимаю, прочитав Руководство по программированию Core Data, после того как вы закончите работатьс помощью отношения вы используете метод контекста управляемого объекта refreshObject:mergeChanges
, чтобы гарантировать, что цикл сохранения нарушен.
Итак, допустим, у меня есть отношение ко многим между Департаментом и его Сотрудниками, и в моем кодеЯ получаю доступ к отношениям сотрудников из отдела. Значит ли это, что теперь мне нужно перебрать каждый объект сотрудника и вызвать метод refreshObject:mergeChanges
?В коде это будет
for (Employee *anEmployee in department.employees) {
//some code that accesses an employee's properties
[context refreshObject:enEmployee mergeChanges:NO];
}
Кажется, что если я этого не сделаю, то каждый объект сотрудника, к которому я обращаюсь, теперь будет содержать ссылку на отдел, и у меня останется цикл сохранения.
Правильно ли мое понимание здесь?Является ли это стандартным подходом при работе со многими связями в базовых данных?Спасибо.