向现有Core Data实体添加和填充属性

时间:2013-05-27 09:54:22

标签: objective-c core-data core-data-migration

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

但是现在我不仅需要添加属性,还需要用一个值来填充它,可以使用另一个现有属性来计算它。(例如:我有一个实体User,其属性为“name”,现在我需要添加属性“hashname”= [user.name base64],以便我所有现有用户都拥有此填充属性)

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

2 个答案:

答案 0 :(得分:1)

你必须“手动”完成。属性的唯一自动填充是使用默认值,但这不是动态的。

答案 1 :(得分:0)

您不需要实际向模型添加计算属性。只需创建一个包含此属性的NSManagedObject子类,并从其他属性计算它。