0

因此,在我需要向实体添加属性之前,我创建了一个新版本的 xdatamodel 文件并执行了轻量级迁移,这会自动将此属性添加到所有现有的 NSManagedObjects。

但是现在我不仅需要添加属性,还需要用一个值填充它,该值可以使用另一个现有属性来计算。(例如:我有一个具有属性“名称”的实体用户,现在我需要添加一个属性"hashname" = [user.name base64],这样我现有的所有用户都有这个填充属性)

那么,有没有办法使用迁移来做到这一点?(我知道可以简单地选择所有没有hashname的用户并在lightweigt迁移后多次填充,但我想知道苹果提供的迁移技术是否可以为我做到这一点)

4

2 回答 2

1

您必须“手动”执行此操作。属性的唯一自动填充是使用默认值,但这不是动态的。

于 2013-05-27T12:11:01.583 回答
0

You don't need to actually add calculated properties to the model. Just create an NSManagedObject subclass that includes this property and calculates it from its other attribues.

于 2013-05-27T18:55:08.693 回答