在核心数据中,我有一个名为item
的实体,其属性为score
。
目前score
的类型为int16_t
。
score
的值会从项目中的不同位置更新,方法是通过[[UITextField text] integerValue]
进行解析,同时保持对溢出的睁大眼睛。
score
的数据类型很可能在将来发生变化。
我希望尽量减少与此变化相关的未来风险。
我能想到的唯一方法是通过预处理器宏#define itemScore_t int16_t
。
是否有更好的方法,例如直接从Core Data确定数据类型?
答案 0 :(得分:3)
使用NSEntityDescription
,您可以导航到特定属性并获取NSAttributeDescription
,从那里您可以获得attributeType
(提供NSInteger16AttributeType
/ NSInteger32AttributeType
/ NSInteger64AttributeType
)。