我是一个新的CoreData。
当我在deleteObject()
对象上使用object
致电NSManagedContext
时,会将object
中的所有属性设置为nil。反正我有没有避免这种情况?我不想被废除。
我的项目是在Swift。
答案 0 :(得分:1)
您误解了CoreData的目的。它是管理持久性商店的一种方式,这意味着无论你告诉你的上下文,都是绝对的。因此,如果您deleteObject()
,该对象已准备好删除,您就不应再触摸它了。
相反,您需要某种镜像对象,它允许您为内存使用创建NSManagedObject的新副本。你可以这样做;
struct MirrorManaged {
var text: NSString
}
class Managed: NSManagedObject {
@NSManaged var text: NSString
func copyToMemory() -> MirrorManaged {
return MirrorManaged(text: self.text)
}
}