要求
我想检测的不是单个字符,而是一系列字符来触发操作,例如当用户在NSView
子类中键入"cat"时 - 但不是"c"。
除了维护在我的 keyDown:
方法中输入的最后 3 个字符的 NSMutableArray
、从该数组(通过 NSData
?)组装字符串并检查该字符串之外,还有什么更聪明的吗?
听起来有点尴尬..但是我想不出更简单的方法(或NSResponder
/NSView
中的内置功能)
我只会保留最后"n"个字符的NSString。在 keyDown: 中附加到末尾,根据需要从开头截图(当它大于 'n' 时),检查字符串以查看每次获得新键时它是否包含"cat"。
如果您检查的字符少于一千个字符,则字符串是一种非常有效的方法。