Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xCode 9.4中的PrepareOrderetion-为什么此时会删除对象关系?_Xcode_Core Data_Xcode9_Relationships_Xcode9.4 - Fatal编程技术网

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

xCode 9.4中的PrepareOrderetion-为什么此时会删除对象关系?,xcode,core-data,xcode9,relationships,xcode9.4,Xcode,Core Data,Xcode9,Relationships,Xcode9.4,好吧,我可能正在失去理智,我希望我是,因为现在的选择似乎更糟。我升级到Xcode 9.4,突然我的核心数据应用程序开始疯狂运行。我想我发现了一些东西,但对我来说毫无意义 突然,在preparefordelection中,被删除的对象似乎已经被删除了!当我记录与对象相关的对象时,没有对象 例如,如果要删除的对象是Department,并且我希望在删除该部门之前对该部门的所有员工执行操作 - (void)prepareForDeletion { NSLog(@"prepareForDele

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

突然,在preparefordelection中,被删除的对象似乎已经被删除了!当我记录与对象相关的对象时,没有对象

例如,如果要删除的对象是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);
    }
}
这两个NSLog显示,在我们使用PrepareOrder方法时,该部门没有员工。但是,当我在删除对象之前运行相同的代码时,将列出该部门的所有员工

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


我现在认为不应该删除对象关系,对吗?

您是否检查了XCode 9.4发行说明中可能出现的重大更改?例如,对NSObjects的修改是:检查一下XCode 9.4可能曾经影响过你的应用程序的更改是有意义的。因为,如果它工作得很好,并且是的,那么你说的对象关系不应该被删除是正确的。在调用
preparefordelection()
之后,它们将被删除。尝试检查此函数调用中的提交值<代码>提交值(forKeys:)请参阅以获取解释。除上述内容外,无法确定其他内容,除非我看到更多要删除的代码和其他与核心数据相关的代码。我使用Swift编码。我试着在
preparefordelection()中打印我的对象和关系,效果很好。也就是说,调用此函数不会破坏关系。我的调用代码:
override func preparefordelection(){let request:NSFetchRequest=Object.fetchRequest()let match=try?container?.viewContext.fetch(请求)匹配中的m!!{print(m.countCorrect)print(m.game)}