2

У меня возникла проблема с функцией уведомления по почте.Быстрое уведомление уведомления о нежелательной почте

В FirstViewController в viewDidLoad У меня это предложение:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "ponresultado", name: "resultadobusqueda", object: nil) 

После этого у меня есть функция:

func ponresultado(notification:NSNotification) 
{ 
    var oDato : oDatoSel = notification.object as oDatoSel 
} 

во втором контроллере представления типа TableViewController в didDeselectRowAtIndexPath методы У меня этот код:

var oDato : oDatoSel = oDatoSel() 
oDato.id = "1" 
oDato.nombre = "test" 
NSNotificationCenter.defaultCenter().postNotificationName("resultadobusqueda", object: oDato) 

Я получаю эту ошибку:

[App.FirstViewController ponresultado]: unrecognized selector sent to instance 0x797d2310 

Если в моей ponresultado функции в FirstViewController я уволилась notification:NSNotification параметр так:

func ponresultado() 
{ 
    var oDato : oDatoSel = notification.object as oDatoSel 
} 

у меня нет ошибки. Зачем?

ответ

7

Вы должны добавить: после того, как имя селектора:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "ponresultado:", name: "resultadobusqueda", object: nil) 

Как ваш метод объявляется такой, как она принимает объект NSNotification:

func ponresultado(notification:NSNotification) 
{ 
    var oDato : oDatoSel = notification.object as oDatoSel 
} 
+0

Шай, совершенный ... спасибо так много. Я не вижу: пропавших без вести ... :-) – IcuScc

+0

@IcuScc Конечно, не забудьте принять ответ! – Shai

+0

Shai, я не понимаю вас – IcuScc

0

Если ваш метод принимает NSNotification как параметр, вы должны добавить «:» к вашему селектору при регистрации. Так что ваша линия:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "ponresultado", name: "resultadobusqueda", object: nil) 

Становится

NSNotificationCenter.defaultCenter().addObserver(self, selector: "ponresultado:", name: "resultadobusqueda", object: nil)