Ios Coredata管理对象发布swift

Ios Coredata管理对象发布swift,ios,swift,uitableview,core-data,Ios,Swift,Uitableview,Core Data,我在swift CoreData中有一个表,我保存OrderTable类型的记录,并从该表中获取保存的记录以重新加载该表。在闭包的帮助下,我将该数组值分配给OrderTable类型的数组,该数组在循环中存储所有记录和打印值,但当我从该数组重新加载单元格时,它在访问该对象的键时打印nil值 请帮帮我,我什么都试过了。这是我的代码和附加的问题截图 您的问题在这一行: if let newPrivateQueueContext = self.coreDataStack.newPrivateQ

我在swift CoreData中有一个表,我保存OrderTable类型的记录,并从该表中获取保存的记录以重新加载该表。在闭包的帮助下,我将该数组值分配给OrderTable类型的数组,该数组在循环中存储所有记录和打印值,但当我从该数组重新加载单元格时,它在访问该对象的键时打印nil值

请帮帮我,我什么都试过了。这是我的代码和附加的问题截图


您的问题在这一行:

if let newPrivateQueueContext =
    self.coreDataStack.newPrivateQueueContext
然后使用
newPrivateQueueContext
执行提取。然后您让
newPrivateContext
超出范围,这会导致它被释放

获取托管对象时,该托管对象需要其托管对象上下文,但它不保留对其的强引用。如果解除分配托管对象上下文,则从中提取的任何托管对象现在都将无效。当上下文仍然存在时,您可以打印结果,但一旦取消分配,您就不能再使用结果


只要需要使用获取结果,就需要保持对用于获取的上下文的强引用。这可能意味着将其作为视图控制器的一个属性,但有很多方法可以做到这一点。

谢谢Tom,它帮助我解决了这个问题。
if let newPrivateQueueContext =
    self.coreDataStack.newPrivateQueueContext