iPhone:在Core Data中存储视频和音频?

时间:2010-11-06 20:04:48

标签: iphone core-data

我需要为使用Core Data的现有应用添加视频和音频录制功能。我一直在想我应该将它们保存到文件系统并使用Core Data引用它们,但我想知道我是否可以将它们作为可转换属性放入Core Data并完全忽略文件系统?

我的直觉是,这是一个真正糟糕的想法™。我确实喜欢使用Core Data的轻松和增值。但我已经尝试搜索'iphone核心数据视频',但这只是返回大量的核心数据教程。

2 个答案:

答案 0 :(得分:15)

不要将二进制数据放入Core Data中。将它们存储在文件系统上,并在Core Data中存储对文件系统位置的引用。

如果将它们存储在Core Data中,则可能会导致缓存并导致可怕的性能,更不用说在尝试发送大量数据时可能会耗尽内存。

答案 1 :(得分:2)

当使用coredata保存二进制数据时,Coredata具有“允许外部存储”选项,该数据库将自动将大于1mb的文件存储到磁盘。

但是,这个问题与这些问题非常相似:

https://softwareengineering.stackexchange.com/questions/150669/is-it-a-bad-practice-to-store-large-files-10-mb-in-a-database

Storing large (e.g. image/movie) files in Core Data on the iPhone

与选定的答案相反,只要没有大量的视频或照片,Core Data就应该能够保持良好的性能。