0

我有一个菜单屏幕,其中填充了来自 NSManagedObject 的数据。当这个屏幕出现时,用户可以输入各种值。等等

我遇到的问题是我不需要更改用于填充屏幕的初始 NSManagedObject。我需要一个用户可以更改的副本,因为如果他们在一切完成之前取消,那么原始和正确的信息会被公正的数据破坏。

但是,我在我的 NSManagedObject 中实现任何类型的复制方法或进程时遇到问题,因为所有属性都是@dynamic。

如果我只是在 NSManagedObject 内的 copyWithZone 方法中“返回自我”,那会正确复制所有内容吗?

4

2 回答 2

1

您想要的是对同一个 NSManagedObject 进行更改,但在子 NSManagedObjectContext 中。这样,如果您需要放弃更改,您可以直接丢弃子上下文,而不会影响您的主上下文或对象。看到这个问题

于 2013-03-27T19:21:33.880 回答
1

为什么不使用类别将复制方法添加到您的自定义 NSManagedObject?

如果您的 NSManagedObject 是用户,则创建一个新类别 User+copy.h/m,您将在其中添加复制方法,该方法将简单地一一复制所有单个字段。

于 2013-03-27T23:01:33.760 回答