我有这个观察员
NotificationCenter.default.addObserver(self, selector: #selector(flashButtonDidPress(_:)), name: NSNotification.Name(rawValue: "flash"), object: nil)
这个委托功能
func flashButtonDidPress(_ title: String) {
cameraController.flashCamera(title)
}
有人可以解释我为什么会出现以下错误?
无法识别的选择器发送到实例
提前致谢
修改 我也在不使用通知的情况下访问该功能
答案 0 :(得分:3)
NotificationCenter
发送Notification
s,而非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]