IOS / JSON:将浮点值存储在对象变量中

时间:2017-02-16 19:35:06

标签: ios core-data

我使用的API会返回一些JSON,其中包含0到1之间的许多小数值 - 基本上是概率 - 例如.422323。

我需要将此值存储在Core Data中。我的理解是,该类型数字的正确变量类型是浮点值(或可能是double。)

但是,为了在核心数据中存储值,我必须使用以下内容将它们包装在NSNumber包装器中:

[newPoi setValue:[NSNumber numberWithFloat:someFloat] forKey:@"yCoordinate"];

考虑到这个开销会很大,因为我有许多使用这些数字的操作,是否有更好的变量类型来存储诸如.422323之类的值?

1 个答案:

答案 0 :(得分:1)

Float属性类型应该为您提供足够的服务 是的,默认情况下,Core Data包装所有基本类型以提供面向对象的接口(通常是一种期望的行为) 不仅仅是开销,对于语法加糖,您可以选择使用Scalar Type属性 您可以在Use Scalar Type面板中切换到Data Model Inspector

Use Scalar Type

现在,在从ManagedObject Subclass菜单创建Editor时,您将获得:
@property (nonatomic) float yCoordinate;