如何在键入时立即更改NSTextField的值?

时间:2015-02-17 20:50:29

标签: objective-c macos swift

我的ViewController.swift文件连接了两个出口。

@IBOutlet var myOutlet: NSTextField!
@IBOutlet var yourOutlet: NSTextField!

也有一个动作连接。

@IBAction func myAction(sender: NSTextField) {
    self.yourOutlet.doubleValue = myOutlet.doubleValue - 10

当我运行应用程序时,它可以工作。 我在myOutlet连接的文本字段中输入15,然后按Enter键。和yourOutlet连接的字段取值为5。

如果不需要输入按钮,那就更好了。那么当我们输入时,如何立即改变价值呢?

感谢您的回答。

1 个答案:

答案 0 :(得分:1)

我没有机会进行快速和OSX开发,但我可以引导您找到解决方案。

查看textDidChange(_:)

  

发布文本已更改的通知并转发此内容   如果它响应,则向接收者的小区发送消息。

     

<强>声明

     

func textDidChange(_ aNotification: NSNotification)   参数aNotification NSControlTextDidChangeNotification   发布到默认通知中心的通知。   讨论此方法使接收者的代表接收   controlTextDidChange:消息。请参阅NSControl类规范   有关文本委托方法的更多信息。

为了实现您的目标,您将实现此委托,每次编辑NSTextField内的文本时都会调用它。然后在该委托块内部,您将提供所需的逻辑。