2011-12-16 160 views
2

我正在嘗試以最有效的方式做到這一點。想想蘋果在iPhone上建立的地址簿 - 這就是我想在這裏複製的。在覈心數據中保存照片

一個實體,Person和多個屬性,但每個Person可以有一張照片。

保存實體照片的最佳方法是什麼?

回答

11
爲您保存照片或在我看來,任何大數據

最好的辦法是將它們保存到一個文件,並存儲爲核心的數據實體的字符串的文件路徑...

+1

如果你必須支持4.x設備,這是要走的路。 – 2011-12-16 21:08:52

8

在iOS 5.0+和Mac OS X 10.7+中,存儲Core Data的二進制數據是一種很好的新方法。 NSAttributeDescription現在有一個名爲allowsExternalStorageBOOL財產。

從文檔...

如果這個值是YES,相應屬性可以被存儲在一個文件 外部到持久存儲本身。

這意味着二進制數據將被保存到磁盤,並且該數據項的引用將被Core Data自動存儲在持久存儲區中。在Xcode模型編輯器中,只需在檢查器視圖中檢查該屬性的選項即可啓用該功能。

NSAttributeDescription Inspector - Allows External Storage


對於5.0版之前,您需要保存圖片關閉用戶的文檔目錄,然後在保存前將文件添加URL到你的模型對象。

+0

感謝您的更新回答.. – 2012-03-03 13:14:53