我正在構建一個使用CoreData的應用程序,這將要求我存儲一個浮點數對一個實體的實例,然後獲取這些實體的選擇按照它們各自矩陣之間的(比如)manhattan distance的順序。CoreData:存儲(並排序)一個浮點數的向量
這裏是什麼像什麼,我的意思是一個粗略的示意圖:
Entity: {
name: 'instance 1',
data: [ 0.1, 0.2, 0.1, 0.1, 0.05, ... ]
},
Entity: {
name: 'instance 2',
data: [ 0.4, 0.9, 0.1, 0.1, 0.02 ... ] // want to sort using this data
}
我知道它是可以使用「變形」的屬性爲「數據」,並編碼一個NSArray,但我不相信可以在提取或排序查詢中使用該數組的內容。
所以,我的問題是:我有什麼選擇來建立這個?是否有可能以某種方式擴展CoreData以允許我執行矢量計算作爲「獲取」請求的一部分?或者我將不得不將每個對象加載到內存中然後手動排序?
最終,我試圖找到最有效的選項,因爲我期望處理數千個實例,每個實例都有一個10-20個項目特徵矢量。
爲這裏的可能架構任何建議,由CoreData新手;-)
請讓我知道如果我沒有陷害這顯然不夠,我會盡量詳細說明可以理解的。
實際上,在對此進行實驗後,我發現使用編碼的NSArray(作爲'可變形'屬性)比我現在想象的更有效率 – 2009-11-25 16:04:26