Core Data: избегание циклов сохранения в отношениях со многими

я все еще изучаю свой путь разработки iOS и работы с 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];
}

Похоже, что если я этого не сделаю, каждый объект сотрудника, к которому я обращаюсь, теперь будет содержать ссылку на отдел, и у меня будут циклы сохранения.

Я правильно понимаю? Является ли это стандартным подходом при работе с отношениями ко многим в Core Data? Спасибо.

14
задан Bart Jedrocha 21 October 2010 в 04:13
поделиться