Хорошо - я могу сойти с ума, и я надеюсь, что да, потому что альтернатива кажется хуже сейчас.Я обновился до Xcode 9.4, и внезапно мое приложение Core Data стало сумасшедшим.Я думаю, что что-то нашел, но для меня это не имеет смысла.
Внезапно, в prepareForDeletion, кажется, что у удаляемого объекта были удалены его отношения уже !Когда я захожу в журнал для объектов, которые связаны с объектом, нет никаких объектов!
Например, если мой объект - это Отдел, и я хочу выполнить действие для всех Сотрудников Отдела доудаление Отдела.
- (void)prepareForDeletion {
NSLog(@"prepareForDeletion");
NSMutableArray *employees = [[NSMutableArray alloc] initWithArray:[self.employees allObjects]];
NSLog(@"employees:%@",employees);
for (Employee *employee in employees) {
NSLog(@"employee.name:%@",employee.name);
}
}
Два NSLogs показывают, что к моменту использования метода prepareForDeletion в Отделе нет сотрудников.Однако, когда я запускаю тот же код прямо перед удалением объекта, в списке появляются все сотрудники Департамента!
Это выглядит очень, очень неправильно.Это в основном убивает мое приложение прямо сейчас, так как я использую это так много.Итак, кто-то, пожалуйста, скажите мне - я схожу с ума?Я что-то здесь упустил?Или это действительно проблема с Xcode 9.4?
Прав ли я, полагая, что объектные отношения НЕ должны быть уже удалены, на данный момент?