我希望在插入点离开组合框时获得控制权,以便我可以测试文本是否与combox列表中的条目匹配。我已经为我的视图控制器添加了一个委托,用于其他组合框功能,例如:
func comboBox(_ aComboBox: NSComboBox, completedString string: String) -> String?
以下功能看起来像我想要的那样:
func control(_ control: NSControl, textShouldEndEditing fieldEditor: NSText) -> Bool
我的应用程序代码IDE将其标识为在API中。当我运行我的代码时,它不会被调用(我有一个print语句)。我尝试将“control”更改为“comboBox”但没有成功。我是否需要做一些额外的事情才能调用此函数?
正如@Mangerlahn所指出的,该函数需要在数据源中。我把它移到那里没有任何效果。它在代表中。
extension TrackDialogViewController: NSComboBoxDataSource {
...
func control(_ control: NSControl, textShouldEndEditing fieldEditor: NSText) -> Bool {...}
...
}
答案 0 :(得分:0)
愚蠢的用户错误。我丢失了一个RAID驱动器,不得不重启。 XCode搞砸了,并为我的项目显示了两个窗口。我看的那个没有控制台。