我正在嘗試以最有效的方式做到這一點。想想蘋果在iPhone上建立的地址簿 - 這就是我想在這裏複製的。在覈心數據中保存照片
一個實體,Person
和多個屬性,但每個Person
可以有一張照片。
保存實體照片的最佳方法是什麼?
我正在嘗試以最有效的方式做到這一點。想想蘋果在iPhone上建立的地址簿 - 這就是我想在這裏複製的。在覈心數據中保存照片
一個實體,Person
和多個屬性,但每個Person
可以有一張照片。
保存實體照片的最佳方法是什麼?
最好的辦法是將它們保存到一個文件,並存儲爲核心的數據實體的字符串的文件路徑...
在你的管理對象模型文件( .momd)添加到Person實體,並將其類型設置爲「Transformable」。在可變形屬性中,可以存儲符合協議的任何類型的對象,幸運的是,UIImage
就是其中之一。 欲瞭解更多有關NSCoding的信息,請參閱Apple文檔:http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSCoding_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSCoding
在iOS 5.0+和Mac OS X 10.7+中,存儲Core Data的二進制數據是一種很好的新方法。 NSAttributeDescription
現在有一個名爲allowsExternalStorage
的BOOL
財產。
從文檔...
如果這個值是YES,相應屬性可以被存儲在一個文件 外部到持久存儲本身。
這意味着二進制數據將被保存到磁盤,並且該數據項的引用將被Core Data自動存儲在持久存儲區中。在Xcode模型編輯器中,只需在檢查器視圖中檢查該屬性的選項即可啓用該功能。
對於5.0版之前,您需要保存圖片關閉用戶的文檔目錄,然後在保存前將文件添加URL到你的模型對象。
感謝您的更新回答.. – 2012-03-03 13:14:53
如果你必須支持4.x設備,這是要走的路。 – 2011-12-16 21:08:52