修改NSManagedObject后,SwiftUI列表未正确更新

时间:2020-03-22 15:41:10

标签: ios core-data swiftui

我有一个包含两个部分的列表,其中有两个用不同谓词的@FetchRequest填充-第一个获取对象的date值为nil,第二个获取对象的{{1} }值不为零。创建对象时,将按预期将单元格插入到第1节中,并将其标题为“实体没有日期”。然后,当您给它一个date时,该行将移至第0节,但标题仍为“实体没有日期”,这是意外的。

要重现,请将此代码放在项目中,然后使用日期字段创建MyEntity。运行该应用程序,然后点击创建实体。将创建一个date,并按预期在标题为“实体没有日期”的第1节中显示一个单元格。几秒钟后,将获取此对象,设置其日期,并保存托管对象的上下文。这导致该单元格移入第0节,但它的标题仍然意外地是“实体没有日期”。现在应将其标题为“实体具有日期”。如果退出并重新打开该应用,则它确实会为其命名。

现在非常有意思的是,如果我删除第二个NSManagedObject,然后从第一个@FetchRequest删除谓词,则它会提取所有对象,并且仅使用列表中的一个部分,就可以正确地更新{设置为@FetchRequest时为{1}}。

Text

0 个答案:

没有答案