Cocoa 检测/检查NSView(NSResponder)中的字符序列

Cocoa 检测/检查NSView(NSResponder)中的字符序列,cocoa,nsstring,nsview,nsresponder,Cocoa,Nsstring,Nsview,Nsresponder,要求 我想检测触发动作的不是单个字符,而是一系列字符,例如,当用户在NSView子类中键入“cat”时,而不是针对“c” 除了在我的键下方法中输入最后3个字符来维护NSMutableArray,从该数组中组合字符串(通过NSData?)并检查该字符串之外,还有什么比这更聪明的方法吗 听起来有点尴尬。但我想不出一个更简单的方法(或是NSResponder/NSView中的内置功能)我只保留最后的“n”个字符的NSString。在keyDown:中追加到结尾,在需要时从开头剪断(当它增长到大于“n”

要求
我想检测触发动作的不是单个字符,而是一系列字符,例如,当用户在
NSView
子类中键入“cat”时,而不是针对“c”

除了在我的
键下方法中输入最后3个字符来维护
NSMutableArray
,从该数组中组合字符串(通过
NSData
?)并检查该字符串之外,还有什么比这更聪明的方法吗


听起来有点尴尬。但我想不出一个更简单的方法(或是
NSResponder
/
NSView
中的内置功能)

我只保留最后的“n”个字符的NSString。在keyDown:中追加到结尾,在需要时从开头剪断(当它增长到大于“n”)时,每次获得新键时检查字符串是否包含“cat”


如果您检查的字符串少于1000个字符,那么这是一种非常有效的方法。

如何在NSView中键入?是否有任何nstextfield等?