有没有办法检查 NSManagedObject 是不是被释放?

Posted

技术标签:

【中文标题】有没有办法检查 NSManagedObject 是不是被释放?【英文标题】:Is there a way to check whether NSManagedObject is freed or not?有没有办法检查 NSManagedObject 是否被释放? 【发布时间】:2015-05-06 12:12:17 【问题描述】:

我在使用 CoreData 时出现错误:

error for object 0x7fcadbb48b68: incorrect checksum for freed object - object was probably modified after being freed.

确实,我知道为什么...我从NSFetchedResultsController 中删除了在我的tableView 中显示的对象。为避免这种情况,我需要检查它是否已释放,不要删除它。如何做到这一点?

【问题讨论】:

【参考方案1】:

根据Apple's documentation,您可以检查'managedObjectContext'是否存在。

if (YourNSManagedObject.managedObjectContext == nil) 
    NSLog(@"Hey I'm already freed, what are you doing with me. don't use me");

【讨论】:

以上是关于有没有办法检查 NSManagedObject 是不是被释放?的主要内容,如果未能解决你的问题,请参考以下文章

避免获取已删除的 NSManagedObject

NSManagedObject 有没有办法将创建的子类导入 xcdatamodel 文件

保存时检测对 NSManagedObject 的更改

在 SwiftUI Picker 中为 NSManagedObject 设置默认值?

NSManagedObject 没有被保存——当心反向关系

检查两个 NSArray 是不是包含彼此的对象 (NSManagedObject)