2011-12-25 2 views
2

NSImage 설명서에는 +[NSImage imageNamed:]을 통해 쉽게 사용할 수있는 많은 표준 이미지가 나열되어 있습니다. 그들은 NSImage class reference에 나열되어 있습니다.AppKit 이미지 템플릿 상수를 사용하면 null이 발생합니다.

그러나 다음을로드하려고 시도 할 때 (null)이 계속 표시되며 그 결과는 NSImageNameSmartBadgeTemplate으로 제한되지 않습니다. 코드는 프로그램의 번들에있는 이미지의 이름이 주어지면 예상대로 작동합니다. 이견있는 사람? 이미지를 식별하는 문자열

NSString *filterIconName = @"NSImageNameSmartBadgeTemplate"; 
_icon = [NSImage imageNamed:filterIconName]; 
NSLog(@"icon = %@", _icon); 
+0

이것은 10.7 이하임을 잊어 버렸습니다. – pickwick

답변

6

내용 반드시 이름 문자열과 동일하지 않다. 이처럼 이름를 사용하여 과제를 수행 할 :

NSString *filterIconName = NSImageNameSmartBadgeTemplate; 

하거나 직접 이름을 사용

[NSImage imageNamed:NSImageNameSmartBadgeTemplate] 

당신은 대중 헤더 이름의 선언을 볼 수 있습니다 : extern NSString * const PeanutButter. 그들은 그것을 간주한다, 필요

NSString * const PeanutButter = @"Jelly"; 

애플은 또한 문자열의 값을 변경할 수 있으며, 코드는 단지만큼 계속 작동합니다 : 애플이 다른 파일에있는 문자열을 정의 할 때, 값이 무엇이든 될 수있다 이름을 참조하십시오.

+0

바로 당신입니다! 감사 – pickwick

관련 문제