2013-08-18 52 views
2

我將核心數據中的OSX圖標(NSImage)存儲爲Transformable屬性。 IOS似乎無法解碼NSImage。什麼OSX圖像格式與IOS兼容

我在Core Data中使用可變形(或其他)屬性存儲兼容圖像並訪問iOS上的圖像有什麼選擇。

當前用戶可以將他們自己的圖像放置到NSImageWell上,並將其作爲NSImage存儲在objective-c類中。這顯然被歸檔到可轉換的核心數據中,當iOS試圖檢索它時,它會拋出一個異常,因爲它不理解NSImage對象。

除了NSImage,我還可以在OS X上使用哪些與iOS兼容的東西嗎?

+1

'CGImageRef'兩個平臺下工作創建PNG數據UIImage。 – trojanfoe

回答

5

PNG(= Portable網絡圖形)是一個選項。

您可以將NSImage爲PNG數據轉換與(複製自How to save a NSImage as a new file):

NSImage *image = ...; 
NSBitmapImageRep *imgRep = [[image representations] objectAtIndex: 0]; 
NSData *pngData = [imgRep representationUsingType: NSPNGFileType properties: nil]; 

UIImage *image = [UIImage imageWithData:pngData]; 
+0

+1。除非您將圖像數據完全保留爲應用程序實例中的私人數據,否則應始終將其編碼爲標準格式,而PNG通常是一種快速,輕鬆,高效的選擇。 (將圖像數據明確地保存在任何非標準編碼中是非常罕見的,雖然有時候會有原因。) –