2016-08-15 2 views
1

컨텍스트 메뉴에서 ⌘→을 키로 사용하고 싶습니다.키 Swift에서 숫자가 아닌 문자가 포함 된 키

support document, 당신과 같이 설정할 수 있습니다 : 그러나, 나는 스위프트이 변환 사투를 벌인거야

unichar arrowKey = NSLeftArrowFunctionKey; 
[button setKeyEquivalent:[NSString stringWithCharacters:&arrowKey length:1]]; 

.

허용되는 비영 숫자 키를 Swift에서 키 동급으로 어떻게 설정할 수 있습니까?

답변

2

즉 코드 NSLeftArrowFunctionKey (a 매크로 C)를 취하는 unichar 변수에 할당 한 다음에 수득 NSString 그것의 주소를 얻어. 고의로 C 매크로이고 const이 아니기 때문에 직접 &NSLeftArrowFunctionKey을 사용할 수 없습니다. 신속한에서

, NSLeftArrowFunctionKey는 궁극적 StringCharacter를 만드는 데 사용할 수 UnicodeScalar 생성하는데 사용될 수있다 UInt16으로 수입된다. 스위프트 2

사용이 :

button.keyEquivalent = String(Character(UnicodeScalar(NSLeftArrowFunctionKey))) 

사용이 스위프트 3 :

button.keyEquivalent = String(Character(UnicodeScalar(NSLeftArrowFunctionKey)!)) 
+0

아. 단순한. 'String (NSRightArrowFunctionKey)'이 더 명확합니까? – glenstorey

+0

@glenstorey 나는 첫 번째 게시물에서 착각했다. 내 업데이트 답변을 참조하십시오. – Alexander

+0

완벽한 - 그냥 가져 가세요! off - UnicodeScalar의 unwrap을 강요 할 수 없으므로. 고마워. – glenstorey

관련 문제