PrepareForDeletion в xCode 9.4 - почему объектные отношения удаляются этой точкой? - PullRequest
0 голосов
/ 10 июня 2018

Хорошо - я могу сойти с ума, и я надеюсь, что да, потому что альтернатива кажется хуже сейчас.Я обновился до 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?

Прав ли я, полагая, что объектные отношения НЕ должны быть уже удалены, на данный момент?

...