2

次のコードで:

NSString *imageString = [[NSBundle mainBundle] pathForResource:@"logo64x64" ofType:@"png"];
NSImage *testImage = [[NSImage imageNamed:@"logo64X64"] retain];
NSImage *testImage2 = [[NSImage alloc] initWithContentsOfFile:imageString];

testImagenilですtestImage2が、NSImageインスタンスです。コードの何が問題なのかわかりません。バンドル内のリソースディレクトリで見つけることができると確信していlogo64x64.pngます。logo64x64@2x.png私も試しましimageNamed:@"logo64X64.png"たが、まだゼロになっています。

誰でも助けることができますか?

4

1 に答える 1

10

試す

[NSImage imageNamed:@"logo64x64"];

それよりも

[NSImage imageNamed:@"logo64X64"];

x成功したコードでは小文字を使用しましたが、失敗したコードでは大文字X( )を使用したことに注意してくださいlogo64X64NSBundle基盤となるHFS+ファイルシステムで大文字と小文字が区別されるだけの場合でも、大文字と小文字が区別されます。(NSImage+imageNamed:メソッドはNSBundleリソースを見つけるために使用します)。

于 2013-03-05T10:43:07.733 に答える