내 응용 프로그램에 하드웨어 키보드 지원을 추가하여 사용자가 언제든지 키보드의 특정 키를 눌러 함수를 호출 할 수 있도록하고 싶습니다. this article을 발견하고 Objective-C에서 훌륭하게 작동하도록 만들 수있었습니다. 스위프트로 변환했는데 어떤 이유로 "c"를 누른 후에 keyPressed
메서드가 호출되지 않습니다. 사용자가 키보드의 아무 키나 누르 자마자 keyCommands
이 호출됨을 확인했습니다. iOS 시뮬레이터와 Mac의 키보드로 테스트하고 있습니다.Swift에서 하드웨어 키보드 키 누르기 듣기
여기 내 Swift 코드의 문제점은 무엇입니까?
override func canBecomeFirstResponder() -> Bool {
return true
}
func keyCommands() -> [AnyObject]? {
var keyCommands = []
struct Static {
static var onceToken : dispatch_once_t = 0
}
dispatch_once(&Static.onceToken) {
let command = UIKeyCommand(input: "c", modifierFlags: nil, action: "keyPressed:")
keyCommands = [command]
}
return keyCommands
}
func keyPressed(command: UIKeyCommand) {
println("user pressed c") //never gets called
}