代码之家  ›  专栏  ›  技术社区  ›  SAHM

Xcode 9.4中的prepareFordeletion-为什么此时会删除对象关系?

  •  2
  • SAHM  · 技术社区  · 7 年前

    好吧-我可能会失去理智,我希望我是,因为现在的选择似乎更糟。我升级到XCODE 9.4,突然间,我的核心数据应用程序开始疯狂。我想我找到了一些东西,但这对我来说毫无意义。

    突然之间,在prepareForDeletion中,被删除的对象似乎有了它的关系 已经 删除!当我去记录与对象相关的对象时,没有对象!

    例如,如果我要删除的对象是department,我希望在删除department之前对该department的所有员工执行一个操作。

    - (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);
        }
    }
    

    这两个NSCORT显示,当我们处于准备删除方法时,部门中没有雇员。但是,当我在删除对象之前运行相同的代码时,所有部门的员工都被列出了!

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

    在这一点上,我假设对象关系不应该被删除是对的吗?

    0 回复  |  直到 7 年前