2012-12-03 94 views
0

我有一個NSData對象,它應該包含TIFF格式的圖像數據。 Here是輸出示例(位於左上方框中)。來自NSData信息的NSImage

然而,當我NSLog出來,我得到如下:

<NSImage 0x10013f620 Size={200, 200} Reps=(
    "NSBitmapImageRep 0x1001220d0 Size={200, 200} ColorSpace=(not yet loaded) BPS=8 BPP=(not yet loaded) Pixels=200x200 Alpha=NO Planar=NO Format=(not yet loaded) CurrentBacking=nil (faulting) CGImageSource=0x100150070" 
)> 

這讓我的東西它實際上可能是一個BitmapImage的。

不管怎麼說,當我做到以下幾點:

NSData *artworkData; 
NSImage *image; 
artworkData = [self.currentTrack artwork]; // actually sets memory, like expected 
image = [[NSImage alloc] initWithData:artworkData]; // causes the error 

我得到這個錯誤:

2012-12-03 02:39:56.263 test[92556:303] -[NSImage length]: unrecognized selector sent to instance 0x10064ec90 
2012-12-03 02:39:56.264 test[92556:303] -[NSImage length]: unrecognized selector sent to instance 0x10064ec90 

任何想法?這已經困擾了我很長一段時間了。

謝謝!

+0

什麼是藝術品數據?你的意思是數據嗎?那麼.SOMETHING做什麼?你應該在這裏給出更多的細節,你不應該改變你的代碼爲stackoverflow。這隻會增加額外錯誤的風險,並可能誤導那些嘗試幫助的人。 –

+0

@HermannKlecker調整後,道歉的混亂。 – Connor

+1

你確定你正在處理一個'NSData'對象嗎?你'NSLog's的東西不是數據,它已經是'NSImage'了。也許你可以指定你記錄的是什麼? – waldrumpus

回答

1

你確定你正在處理一個NSData對象嗎?日誌輸出中的對象沒有數據,它已經是一個NSImage。因此,試圖將它用作-[NSImage initWithData:]的參數將會失敗。