如何在textField内容更改时执行代码?

时间:2017-04-23 16:08:38

标签: swift macos

我一直试图解决这个问题,但我不知所措。

使用Xcode 8.3和Swift 3(我正在为mac调整应用程序),我有一个名为ServiceName的textField,当这个文本字段的内容发生变化时,我想执行一些代码。我记得比过去这可以在界面构建器中完成,但它看起来不再可能,我不知道在代码中这样做。我很快乐,我真的不明白代表们的工作方式,所以如果需要,请详细解释我吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

  • 在Interface Builder中,将文本字段的委托连接到目标类。
  • 在目标类中采用协议NSTextFieldDelegate
  • 在目标类中覆盖controlTextDidChange例如

    override func controlTextDidChange(_ notification: Notification) {
    
        if let textField = notification.object as? NSTextField {
            let string = textField.stringValue
            // do something with the text
    
        } else {
           super.controlTextDidChange(notification)
        }
    }