in meinem NSViewController Ich habe ein NSTexField, das Benachrichtigungen auslöst, sobald sich sein Inhalt ändert.Swift macOS-Benachrichtigung bei textchange
Ich habe auch mehrere Schaltflächen, die IBActions definiert haben, um Zeichen in das NSTextField zu schreiben. Jedes Mal, wenn eine der Schaltflächen gedrückt wird, wird das NSTextField aktualisiert. Die Benachrichtigung wird nicht ausgelöst.
Wie kann ich ein NSControlTextDidChange-Ereignis manuell auslösen?
override func controlTextDidChange(_ notification: Notification) {
if let textField = notification.object as? NSTextField {
filterTable(with: textField.stringValue)
}
}
@IBAction func pressedKeyButton(_ sender: NSButton) {
let character = sender.title
self.searchTextField.stringValue.append(character)
self.searchTextField.textDidChange(Notification(name: .NSControlTextDidChange,object: nil))
}
Was ist "self.searchTextField.textDidChange (Mitteilung (name: .NSControlTextDidChange, Objekt: null))" für? Ihr controlTextDidChange scheint auch nicht richtig. –
Wenn die pressedKeyButton-Aktion ausgelöst wird, wird der Inhalt von NSTexField aktualisiert, die controlTextDidChange-Funktion wird jedoch nicht ausgelöst. –