使用以下代码:
NSString *imageString = [[NSBundle mainBundle] pathForResource:@"logo64x64" ofType:@"png"];
NSImage *testImage = [[NSImage imageNamed:@"logo64X64"] retain];
NSImage *testImage2 = [[NSImage alloc] initWithContentsOfFile:imageString];
testImage
为零,但testImage2
是NSImage
个实例。我不知道代码有什么问题。我确信我可以在捆绑包的资源目录中找到logo64x64.png
和logo64x64@2x.png
。我也试过imageNamed:@"logo64X64.png"
,但仍然没有。
任何人都可以提供帮助吗?
答案 0 :(得分:10)
尝试
[NSImage imageNamed:@"logo64x64"];
而不是
[NSImage imageNamed:@"logo64X64"];
请注意,在成功的代码中,您使用了小写x
,而在失败的代码中,您使用了大写X
(logo64X64
)。 NSBundle
区分大小写,即使基础HFS +文件系统仅保留大小写。 (NSImage
的{{1}}方法使用+imageNamed:
来查找资源。