2013-03-05 21 views
2

創建NSImage中通過下面的代碼:我不能imageNamed但initWithContentsOfFile

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

testImage是零,但testImage2NSImage實例。我不知道代碼有什麼問題。我確信我可以在資源目錄中找到logo64x64.png[email protected]。我也試過imageNamed:@"logo64X64.png",但仍然沒有。

任何人都可以幫忙嗎?

回答

10

嘗試

[NSImage imageNamed:@"logo64x64"]; 

而不是

[NSImage imageNamed:@"logo64X64"]; 

注意,在成功的碼,您使用小寫x,而在失敗的代碼,你用一個大寫Xlogo64X64) 。 NSBundle區分大小寫,即使基礎HFS +文件系統僅保留個案。 (NSImage+imageNamed:方法使用NSBundle來定位資源)。

+1

非常感謝。對我的疏忽感到羞恥。那麼這似乎是'不是一個真正的問題':)哈哈 – 2013-03-05 10:56:18

+0

很好的觀察。我沒有看到它。 – viral 2013-03-05 11:07:39