我知道"我不应该在核心数据中存储大文件,最好将它们保存在文件系统中"。但是…我仍然希望尝试一下,因为我的声音文件在5-20 kb之间,每个和我的需要,这将是伟大的,如果他们将在核心数据。为了更加小心,我将它们存储在一个不同的实体中。
现在!
- 我必须使用二进制数据还是我可以使用可转换对象?如果可以,我会快乐的知道吗?
- 不过,为什么你不这样做,即使是这么小的文件?
使用转换器实际上取决于您想将声音数据转换成什么对象。
Apple有一个UIImage转换器的示例代码。
请记住,每次获取对象时都会调用转换器,因此应该将开销保持在最低限度。你可能不希望每次UITableViewController获取一个对象来绘制一个单元格时都为每个对象实例化一个AVAudioPlayer,例如
Core Data Programming Guide:大数据对象(blob)
"小"、"适中"one_answers"大"的确切定义是不确定的取决于应用程序的使用情况。一个不严格的经验法则是大小以千字节为数量级的对象具有"中等"大小和
你的声音文件足够小,可以存储在同一个表中。只使用100K到1mb之间的单独实体。将声音存储为可转换文件的优势是什么?如果你想不出任何方法,就使用二进制数据