使用通知将无法识别的选择器发送到 ViewController 中的实例

unrecognized selector sent to instance in ViewController using Notifications

我一直在四处寻找修复方法,但似乎无法自行修复。

我正在尝试通过我的控制器 - 模型发送通知。我在我的 appdelegate 上收到一条错误消息:

[Test.ViewController naamInModelChangedHandler]: unrecognized selector sent to instance 0x7f81c85006c0

我在我的 viewDidLoad 中像这样发送我的通知:

        NSNotificationCenter.defaultCenter().addObserver(
        self,
        selector: "naamInModelChangedHandler",
        name: "NAAM_CHANGED",
        object: model)

在我的 ViewController 中,我做了一个这样的函数:

    func naamInModelChangedHandler ( notification:NSNotification ) {
    println("De naam in de model is veranderd naar \(model.naam!)")
            NSNotificationCenter.defaultCenter().removeObserver(
                self,
                name: "NAAM_CHANGED",
                object: model)
}

这就是我的模型的样子(但我不认为这与它有任何关系?:

var naam: String? {
didSet {
    NSNotificationCenter.defaultCenter().postNotificationName("NAAM_CHANGED", object: self)
}

谁能帮我解决这个错误?

选择器的名称应为"naamInModelChangedHandler:"。注意 : 因为 naamInModelChangedHandler 接受一个 NSNotification 作为参数。因此,您应该像这样添加观察者:

NSNotificationCenter.defaultCenter().addObserver(
        self,
        selector: "naamInModelChangedHandler:",
        name: "NAAM_CHANGED",
        object: model)