iOS 一个CoreData小技巧

原创Blog,转载请注明出处
blog.csdn.net/hello_hwc

在使用CoreData进行数据存储的时候,难免会用到各种标量类型(float,Integer 32等)。而XCode自动生成的NSManagedObject子类会生成对应的NSNumber,例如
有一个Integer 32的属性
iOS 一个CoreData小技巧_第1张图片
则生成NSManaged Object的子类以后,会声称如下属性

@property (nonatomic, retain) NSNumber *age;

然后,我们不得不在使用的时候,进行转换

age.IntValue

技巧-手动修改ManagedObject的属性为具体类型

把上述属性直接修改为

@property (nonatomic) int32_t age;

然后,就可以直接使用了,原理很简单,编译的时候Foundation会自动把int32_t合成为对应的NSNumber类型,同时也会在使用的时候解析为对应的int32_t类型。
这里要注意的是,

手动修改的类型要和属性定义的类型一致。例如Integer 32对应int32_t。

我在Github有个简单的Demo,感兴趣的童鞋可以看下
https://github.com/wenchenhuang/CoreDataDemo

你可能感兴趣的:(ios,技巧,coredata)