2012-08-07 35 views
1

我目前正在開發一個應用程序,在該應用程序中我想將UIImage存儲在我的一個Core Data實體中。我已經讀過,在iOS 5中,UIImage現在符合稱爲NSCoding的協議,所以從NSData開始的轉換方法不再是必需的。我已將圖像屬性設置爲可變形,並且當我檢索圖像時,我的程序奇妙地起作用。在覈心數據中將UIImage存儲爲可變形屬性

這是一個安全可靠的方法來存儲UIImage,這將允許未來低於30秒的遷移?它會表現得好嗎?我還閱讀了二進制數據屬性類型,它允許將文件存儲在文件系統中,而不是數據庫中。如果這是一個更好的選擇,那麼將如何實現它?

回答

1

遷移時間取決於整個數據庫模式和大小,而不僅僅是存儲UIImage。沒有人能回答這個問題。

表現是相對的。如果將它存儲在外部,它通常會更好地表現出性能,因爲它不在數據庫本身中,但是還有很多其他性能問題,例如管理故障,尤其是如果將它存儲爲直接屬性而不是關係。另外,這取決於你的使用情況。沒有一種解決方案適合所有情況。

您必須剖析您的應用程序用例,並做出最適合您應用程序性能特徵的決策。

對於任何非平凡的二進制數據,您的確應該讓核心數據管理它作爲外部數據。這很簡單。在數據模型GUI中,選中「存儲在外部記錄文件」中的框。