【发布时间】:2009-11-18 00:23:06
【问题描述】:
我正在使用 CoreData 构建一个应用程序,这将要求我针对一个实体的实例存储一个浮点数数组,然后在它们各自的矩阵之间按照(比如说)manhattan distance 的顺序获取这些实体的选择.
这是一个粗略的图表,类似于我的意思:
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(作为“可转换”属性)比我目前想象的更有效
标签: objective-c macos core-data