Objective c NSData信息中的NSImage
我有一个Objective c NSData信息中的NSImage,objective-c,macos,cocoa,Objective C,Macos,Cocoa,我有一个NSData对象,它应该包含TIFF格式的图像数据。是输出的示例(在左上框中) 但是,当我将其导出时,我会得到以下结果: <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
NSData
对象,它应该包含TIFF格式的图像数据。是输出的示例(在左上框中)
但是,当我将其导出时,我会得到以下结果:
<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"
)>
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
有什么想法吗?这已经困扰了我好一阵子了
谢谢大家! 您确定正在处理
NSData
对象吗?日志输出中的对象没有数据,它已经是NSImage。因此,尝试将其用作-[NSImage initWithData:
的参数将失败。什么是artworkData?你是说数据吗?那是什么,有什么作用吗?您应该在这里提供更多的细节,并且不应该更改stackoverflow的代码。这只会增加额外错误的风险,并可能误导那些试图提供帮助的人。@HermannKlecker,为混淆道歉。您确定您正在处理NSData
对象吗?您NSLog
ged没有数据,它已经是一个NSImage
。也许你可以指定你到底记录了什么?@waldrumpus就是这样。我要去的文件说这是NSData;原来是一张NSImage。非常感谢。请随意添加您的评论作为回答,我会接受的。