我对Core Data是否以setPrimitiveAttributeName:形式生成NSManagedObject子类的原始访问器感到困惑,与形式setPrimitiveValue:forKey:相比,它似乎始终如一.
我混淆的原因是我使用了建模工具(XCode 4)为我的两个实体生成NSManagedSubclasses,据我所知,它们共享相同的元数据设置,但是一个子类识别setPrimitiveAttributeName形式,而另一个没有(它给我一个"找不到方法"编译器警告).
那么,期望是什么?如果我打开一个新项目,创建一个具有一个属性的实体,并使用建模工具生成必要的NSManagedObject子类代码,我是否应该期望它自动生成更有效的原始访问器形式?
为什么我需要在核心数据项目中使用原始访问器方法?
我正在阅读关于核心数据的内容,请注意以下内容:
默认情况下,Core Data为托管对象类的建模属性(属性和关系)动态创建有效的公共和原始get和set访问器方法...
例如,给定具有属性firstName的实体,Core Data会自动生成firstName,setFirstName:,primitiveFirstName和setPrimitiveFirstName:.
我还不确定原始访问器方法是什么?他们是如何工作的?何时以及为什么我需要在正常的访问器方法上使用它们?
谢谢