Iphone 如何在核心数据中存储矩阵或向量数据结构?

Iphone 如何在核心数据中存储矩阵或向量数据结构?,iphone,core-data,vector,matrix,Iphone,Core Data,Vector,Matrix,我正在构建一个iPhone应用程序,它需要在核心数据中存储某种矩阵或向量数据。由于一些未知的原因,iPhone SDK在其基础类中不包含任何类型的矩阵数据结构,所以我构建了自己的数据结构,它使用nStutabRealEngsNStababRealEx来存储数据。到目前为止还不错 我想将此数据结构存储在我的核心数据存储中,我已经阅读了有关使用存储非标准结构的内容。当我尝试存储数据结构时,出现以下错误:[FCMatrix EncoderWithCoder:]:发送到实例的无法识别的选择器我正在运行的

我正在构建一个iPhone应用程序,它需要在核心数据中存储某种矩阵或向量数据。由于一些未知的原因,iPhone SDK在其基础类中不包含任何类型的矩阵数据结构,所以我构建了自己的数据结构,它使用nStutabRealEngsNStababRealEx来存储数据。到目前为止还不错

我想将此数据结构存储在我的核心数据存储中,我已经阅读了有关使用存储非标准结构的内容。当我尝试存储数据结构时,出现以下错误:[FCMatrix EncoderWithCoder:]:发送到实例的无法识别的选择器我正在运行的代码如下,基本上只是在实体中设置属性:

[collection setMatrix:matrix];
此时我的假设是,由于matrix是一个可转换的属性,而我的FCMatrix类是一个从NSObject子类化的自定义对象,因此我需要在我的数据结构类中实现EncoderWithCoder方法,以便核心数据能够正确地编码、存储,然后解码数据以重新创建我的数据结构。有人能解释一下最好的方法吗

另一个想法——我想知道您的想法——是将我的FCMatrix类重新构建为NSMutableArray的子类。如果NSMutableArray是可转换的,那么我将被设置


或者,我相信这是一个太多的工作,必须有一个更简单的方法来做到这一点。有人有在核心数据中存储矩阵数据的经验吗?

可能会考虑将数组转换为字节,这些字节可以存储在NSData对象中并放入二进制属性中。

我已经找到了解决我自己问题的方法:

核心数据可以将NSMutableArray对象作为可转换属性存储在核心数据中。 如果我创建一个自定义矩阵类,例如FCMatrix,那么核心数据将不知道如何将其存储为可转换对象。 因此,我可以创建一个完全静态的矩阵类。然后,我可以将NSMutableArray对象传递给函数,并使用我的旧逻辑对它们进行操作。
将生成错误的代码片段放入您的帖子中。只是添加了一些更多信息。这是非常基本的,我只是在实体中设置属性。我建议在存储之前将其转换为可读的、可消费的形式。例如,您可以将其存储为核心数据中字符串内的JSON数据结构。二进制文件可能变化无常,如果它出错,就没有办法纠正它。