2010-11-06 81 views
4

我需要將視頻和音頻錄製功能添加到使用Core Data的現有應用程序。我一直在想我應該將它們保存到文件系統中,並使用Core Data來引用它們,但是我想知道是否可以將它們作爲Transformable屬性放入Core Data中,並完全忽略文件系統?iPhone:在Core Data中存儲視頻和音頻?

我的直覺是這是一個真正壞的想法™。我喜歡使用Core Data的易用性和增值性。但是,我嘗試過尋找'iphone核心數據視頻',但這只是返回核心數據教程的堆。

回答

1

Coredata在使用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

與此相反的選擇答案,核心數據應能保持良好的性能只要沒有大量的視頻或照片。

14

不要將二進制數據放在覈心數據中。將它們存儲在文件系統中,並在Core Data中存儲對文件系統位置的引用。

如果將它們存儲在覈心數據中,您可能會冒着高速緩存的風險並導致可怕的性能,更不用說當您嘗試在大量數據中發生故障時可能會吹出內存。