我希望在我的应用程序中添加硬件键盘支持,使用户可以通过按下键盘上的某个特定键来调用函数。我找到了这篇文章,并且在Objective-C中成功实现了它。我已经将其转换为Swift,但是出现了问题,即在我按下“c”键后,
请问,这里在我的Swift代码中有什么问题?
keyPressed
方法没有被调用。我确认keyCommands
会在用户按下键盘上的任何键时被调用。我正在使用iOS模拟器和Mac的键盘进行测试。请问,这里在我的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
}