2

好吧 - 我可能会失去理智,我希望我是,因为现在替代方案似乎更糟。我升级到 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);
    }
}

这两个 NSLog 显示,当我们在 prepareForDeletion 方法中时,Department 中没有员工。但是,当我在删除对象之前运行相同的代码时,会列出部门的所有员工!

这似乎非常非常错误。它现在基本上会杀死我的应用程序,因为我经常使用它。所以有人请告诉我——我疯了吗?我在这里错过了什么吗?或者这实际上是 Xcode 9.4 的问题?

我是否正确假设此时不应删除对象关系?

4

0 回答 0