0

NSDataTIFF 形式の画像データを含むと思われるオブジェクトを取得しました。出力の例を次に示します (左上のボックス内)。

ただし、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

何か案は?これはかなり長い間私を悩ませてきました。

ありがとうございました!

4

1 に答える 1

1

NSDataオブジェクトを扱っていると確信していますか? ログ出力のオブジェクトはデータではなく、すでに NSImage です。したがって、これを引数として使用しようとする-[NSImage initWithData:]と失敗します。

于 2012-12-03T11:02:37.133 に答える