2017-01-30 4 views
1

у меня есть этот наблюдательNSNotification вопрос - непризнанный селектор направил к экземпляру

NotificationCenter.default.addObserver(self, selector: #selector(flashButtonDidPress(_:)), name: NSNotification.Name(rawValue: "flash"), object: nil) 

и эта функция делегата

func flashButtonDidPress(_ title: String) { 
    cameraController.flashCamera(title) 
} 

Может кто-нибудь объяснить мне, почему у меня есть следующее сообщение об ошибке?

непризнанным селектор послал к экземпляру

Заранее спасибо

EDIT: Я также получить доступ к функции без использования уведомления

ответ

3

NotificationCenter посылает Notification с, не String s, используйте вторую функцию, которая будет вызываться из другого места:

func flashButtonDidPress(_ notification: Notification) { 
    if let title = notification.userInfo?["title"] as? String { 
     flashCamera(with:title) 
    } 
} 

func flashCamera(with title: String) 
{ 
    cameraController.flashCamera(title) 
} 

пройти title в userInfo словаре при отправке уведомления, например,

let userInfo = ["title", title] 
Смежные вопросы