Core Data应用开发实践指南
上QQ阅读APP看书,第一时间看更新

2.4 属性

属性(attribute)是实体的特征(property)。在本书范例程序中,Item实体代表可以添加到购物清单里的东西。为了给Item实体拟定出合适的属性,我们需要考虑购物清单里所有货品的共性。一开始,你可能会拟定出下面这两个属性:

·Item name(货品名称)

·Item quantity(货品数量)

属性的名称必须以小写字母开头,而且不应该与NSObject或NSManagedObject方法重名。Xcode不允许开发者违背这条规则,如果违背了,它会给出警告,比方说,把实体的属性名设为“description”就是非法的。

根据Item实体来创建NSManagedObject子类的时候,类中会出现与实体的属性同名的各项特性。与Objective-C中的其他对象一样,你也可以在NSManagedObject子类上面用“点”(.)来引用类特性。使用item.name及item.quantity来获取特性值可以令代码更易理解。

请按下列步骤修改Grocery Dude,以便把两个新的属性加入其中:

1.在选定Item实体的前提下,点击Add Attribute按钮,新增名为name及quantity的属性。添加完成后的效果如图2-3所示。

向实体中添加属性的时候,必须指定它所表示的数据“类型”(type)。属性的默认类型是Undefined(未定义)。你可以为每个属性指定不同的数据类型,而且有时可能还要预想一下这个属性在未来的用法。可供选择的属性类型有很多,而且作为Objective-C程序员,其中某些类型你可能已经比较熟悉了。[1]

图2-3 添加两个类型为undefined的属性

[1] 从数据类型的角度来说,下面的2.5节、2.6节均应从属于2.4节,但为了与英文版保持一致,译文仍然按照英文原书来翻译。——译者注