我目前正在制作一个用Swift编写的OS X应用程序.我想要做的是当用户在a中输入文本时NSTextField
,我想运行一个检查值并将其添加到Label的函数.我怎么能在swift中做到这一点?
符合ViewController
协议NSTextDelegate
.
分配ViewController
为代表TextField
.
实施controlTextDidChange
方法.
import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate, NSTextFieldDelegate { @IBOutlet weak var window: NSWindow! @IBOutlet weak var textField: NSTextField! @IBOutlet weak var label: NSTextField! func applicationDidFinishLaunching(aNotification: NSNotification) { textField.delegate = self } override func controlTextDidChange(notification: NSNotification) { let object = notification.object as! NSTextField self.label.stringValue = object.stringValue } func applicationWillTerminate(aNotification: NSNotification) { // Insert code here to tear down your application } }
在ViewController中:
import Cocoa class ViewController: NSViewController, NSTextDelegate { @IBOutlet weak var label: NSTextField! @IBOutlet weak var label2: NSTextField! @IBOutlet weak var textField: NSTextField! @IBOutlet weak var textField2: NSTextField! override func viewDidLoad() { super.viewDidLoad() } override func controlTextDidChange(notification: NSNotification) { if let txtFld = notification.object as? NSTextField { switch txtFld.tag { case 201: self.label.stringValue = txtFld.stringValue case 202: self.label2.stringValue = txtFld.stringValue default: break } } } }