我在尝试通过Swift中的postNotification传回userInfo时遇到问题。奇怪的是代码只在我尝试使用userInfo时中断 - 如果我将没有数据的通知发布到没有参数的选择器,一切正常。但是当我尝试传回userInfo时,我得到一个"无法识别的选择器发送到实例"错误。所以我的ViewController中的选择器签名出了问题,但我无法弄清楚是什么。
以下是破解的代码:
在我的表格视图中
let data = ["selection": selectedOption]
dismissViewControllerAnimated(true, completion: {NSNotificationCenter.defaultCenter().postNotificationName(wordsetPickedNotification, object: self, userInfo: data)})
在我的视图控制器中:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "wordsetPicked", name: wordsetPickedNotification, object: nil)
...
func wordsetPicked(n:NSNotification) {
//do stuff
}
答案 0 :(得分:2)
将selector: "wordsetPicked"
更改为selector: "wordsetPicked:"
。