NSComboBox:如何告诉用户输入了不在弹出列表中的信息并读取它

AJ.*_*AJ. 3 macos objective-c cocoa-bindings

我有一个NSComboBox与一个单独的类,符合NSComboBox dataSource和委托.

如果用户在组合框中键入的文本与弹出列表中的某个项目不匹配,我如何接收用户输入内容的通知并读取用户键入的值?

目前我正在恭维委托方法: -

-(void)comboBoxSelectionDidChange:(NSNotification *)notification 
-(void)comboBoxWillDismiss:(NSNotification *)notification 
Run Code Online (Sandbox Code Playgroud)

但是,只有在用户从弹出窗口中选择了一个项目时才会通知这些,而不是在用户在停止编辑中键入其他内容时

Jos*_*ell 5

由于NSComboBox是子类NSTextField,因此NSControl,您还可以使用诸如影响组合框行为的NSControlTextEditingDelegate方法control:textShouldEndEditing:.