在核心数据中存储600个声音文件,每个5-20kb

时间:2011-11-10 14:50:00

标签: ios core-data audio

我知道“我不应该将大文件存储在核心数据中,最好将它们保存在文件系统中”。 但... 我仍然希望尝试这个,因为我的声音文件每个介于5到20 kb之间,根据我的需要,如果它们将在核心数据中,那将会很棒。要特别小心,我会将它们存储在不同的实体中。

现在!

  1. 我必须使用二进制数据还是可以使用可转换对象?如果可以,我会很高兴知道如何吗?
  2. 仍然,你为什么不用这么小的文件呢?

2 个答案:

答案 0 :(得分:1)

核心数据编程指南:Large Data Objects (BLOBs)

  

“小”,“适度”和“大”的确切定义是流动的   取决于应用程序的用法。一个宽松的经验法则是   大小为千字节的对象是“适度”大小的   那些大小为兆字节的大小是“大”的。

您的声音文件足够小,可以将其存储在同一个表格中。使用仅在100K和1 MB之间的单独实体。将声音存储为可变形的优势是什么?如果你想不出任何只是使用二进制数据。

答案 1 :(得分:1)

使用变换器实际上取决于您想要将声音数据转换为什么对象。

Apple拥有UIImage transformer的示例代码。

请记住,每次获取对象时都会调用变换器,因此应将开销保持在最低限度。例如,每当UITableViewController提取对象以绘制单元格时,您可能不希望为每个对象实例化AVAudioPlayer。