Swift 5, NSTextField, controlTextDidChange выдает ошибку компилятора «Метод не переопределяет ни один метод из своего суперкласса» - PullRequest
0 голосов
/ 06 ноября 2019

Мне нужно проверить символы в NSTextField, когда они вводятся.

Я перепробовал каждое решение, предложенное Google, и теперь я вырываю голову, потому что NSTextField проверка ввода - это стандартная вещь, которая означает, что я не понимаю чего-то базового.

class MyWinController: NSWindowController, NSTextFieldDelegate {

    @IBOutlet var textField: NSTextField!

    override func windowDidLoad() {
        super.windowDidLoad()
    }

    @IBAction func textField(_ sender: Any) {
        print("MyWinController textField")
    }

    override func controlTextDidChange(notification: NSNotification) {
        print("APNewAPStaticWindowController controlTextDidChange")
    }
}

Функция textField работает, но когда я включаю функцию controlTextDidChange, я получаю ошибку компилятора: Method does not override any method from its superclass.

Помощь будет принята с благодарностью. Спасибо.

1 Ответ

0 голосов
/ 06 ноября 2019

См. controlTextDidChange (_:) объявление

optional func controlTextDidChange(_ obj: Notification)`

реализация:

override func controlTextDidBeginEditing(_ obj: Notification) {
    print("APNewAPStaticWindowController controlTextDidChange")
}
...