2013-02-13 113 views
0

我需要存儲這些值。核心數據和陣列

x值=時間

的y值1,Y-VALUE2,γ-值3,...,Y-value10

所以每次,有這些不同的y值的切片。這是兩者之間的聯繫。

我對Core-Data方法論相當陌生,我聽說將它們存儲到數組中是不可能的。我不必查詢它們,但是我確實需要在給定的會話之後將它們存儲在數據庫中(假設超過1000個條目 - 這就是爲什麼我不想首先將它們全部放入NSMutableArray)。

核心數據是解決這個問題的最實用的方法,還是有更好的解決方案來處理這些數據量。編輯: 到目前爲止,我的模型看起來像這樣。


實體1:時間片

屬性:時間 - 浮動

關係:值


實體2:值

屬性:yValue1,yValue2,yValue3, ...,yValue10 - float

+0

你應該展示更多的代碼加上你的模型。否則,這是比猜測,而不是回答。但是,我猜你應該將數組值存儲在單獨的表中,並使用一對多關係引用數組的成員。 – 2013-02-13 23:13:50

+0

請檢查我的編輯。我還沒有編碼,但我只是想知道我是否正在覈心數據陣列方面朝着正確的方向前進。 – freedom 2013-02-13 23:24:23

回答

1

它取決於每個yValue代表什麼類型的變量,但它看起來像你可能以比你需要更尷尬的方式去做。您可以將它們放入數組中,然後將該數組存儲在Core Data持久性存儲中的NSData屬性中。如果你真的不需要查詢它們,那麼我會確保yValue類實現encodeWithCoder:方法,詳見這個問題:Converting a NSObject into NSData

然後,你可以創建一個這些對象的數組,並將整個數組存儲在NSData對象並將其存儲在實體的單個屬性中。這可能是存儲它的最有效方式。然後,您的核心數據模型是這樣的:

實體 - 時間輸入

屬性:時間 - NSNumber的

屬性:yValues - NSData的

使用,你也可以查詢該核心數據模型特定時間(或一組時間),然後根據需要取消存檔NSData對象。

如果您要創建一個「類型」的對象,關係會更好。一個典型的例子是公司 - >經理 - >員工範例。每個公司,經理和員工都將是一個實體。從公司到多位管理人員以及從每位經理到多名員工將會有多對多的關係。你也可以讓每個員工分配到多個經理等等。

+0

感謝您的意見。我會試試這個:) – freedom 2013-02-16 02:50:39

0

核心數據支持有序關係,我認爲從iOS5開始。編輯多對多關係時,只需在複選框中選擇「排序」即可。