2017-02-16 79 views
0

我正在使用的API返回一些包含許多0和1之間的十進制值的JSON - 基本概率 - 例如.422323。IOS/JSON:在對象變量中存儲浮點值

我需要將此值存儲在覈心數據中。我的理解是,這種類型的數字的正確變量類型是一個浮點值(或可能是雙倍)。

但是,爲了將值存儲在覈心數據中,我必須使用類似的東西將它們包裝在NSNumber包裝中:

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

鑑於這種開銷,這將是巨大的,因爲我有使用這些數字很多操作,有沒有用於存儲值,比如0.422323更好的變量類型?

回答

1

Float屬性類型應該足夠好。
是的,默認情況下,Core Data包裝所有基元類型以提供一個面向對象的接口(這是一個普遍需要的行爲)。
超過開銷,對於語法加糖,您可以選擇使用Scalar Type屬性。
您可以在Data Model Inspector面板中切換到Use Scalar Type

Use Scalar Type

現在,創建ManagedObject SubclassEditor菜單,你會得到:
@property (nonatomic) float yCoordinate;

+0

如果我檢查是否意味着我可以只使用使用屬性,無須轉換爲的floatValue ?或者我必須做一些像int64_t yCoordinate – zztop

+0

是@zztop,檢查編輯 – ystack