核心数据原始访问器

时间:2011-05-19 11:06:09

标签: core-data primitive accessor

我对Core Data是否以setPrimitiveAttributeName:形式为NSManagedObject子类生成原始访问器感到困惑,与形式setPrimitiveValue:forKey:相比,它似乎始终如一。

我混淆的原因是我使用了建模工具(XCode 4)为我的两个实体生成NSManagedSubclasses,据我所知,它共享相同的元数据设置,但是一个子类识别setPrimitiveAttributeName形式,而另一个没有(它给我一个“找不到方法”编译器警告)。

那么,期望是什么?如果我打开一个新项目,创建一个具有一个属性的实体,并使用建模工具生成必要的NSManagedObject子类代码,我是否应该期望它自动生成更有效的原始访问器形式?

1 个答案:

答案 0 :(得分:2)

我遇到了类似的问题。虽然运行时generates the primitive accessors,Xcode 4不生成基元的声明属性,但您必须根据文档自己在子类中执行此操作。

我个人为每个实体创建一个类别,并始终将我的自定义代码放在那里,这样我就可以随时重新生成MO,而不必复制和粘贴。

您可以在一个类别中执行此操作,界面包含:

@property (nonatomic, retain) NSDate * primitiveLastUsed;

实施有这个:

@dynamic primitiveLastUsed;

非常光滑,让Xcode的再生MO无痛。