0

我目前正在使用 NSCoding 序列化对象树,但其中 1 个包含作为数据成员的本地 C 浮点数组,该数组具有 1,000,000 个条目,因此为了使用 encodeFloat:forKey 对其进行序列化:对于每个数组条目,我需要申请1,000,000 个无用的密钥,这可能非常慢。处理这个的首选方法是什么?

4

1 回答 1

1

对于每个数组条目,我需要应用 1,000,000 个无用的键

不,您绝对不需要为每个元素设置单独的键。AC 数组是一个连续的内存块,因此您可以简单地从该块创建一个 NSData 对象并按照 Hot Licks 的建议进行存储。或者,由于一百万个浮点数需要相当多的存储空间,您可能会在存储数据之前对其进行压缩。事实上,你甚至不需要 NSData——你可以直接用-encodeBytes:length:forKey:.

于 2013-08-11T15:36:56.410 回答