首页 文章

注册WebHistory Notifications处理程序时出现意外异常,有什么问题?

提问于
浏览
0

在一个快速的OS X项目中,我正在尝试注册一个观察者来处理从WebView发送的WebHistory Notifications . 我认为注册过程是成功的,但是当我的通知处理程序被调用时,会引发未捕获的异常;具体来说,错误消息是“ - [project_name.HistoryController didAddHistoryItems]:无法识别的选择器发送到实例0x600000002420” . 但HistoryController定义了该方法

func didAddHistoryItems(通知:NSNotification) .

那么,怎么了?我真的很挣扎 . 我几天来一直在反对这个问题 . 我已经尝试在程序的各个地方实例化我的HistoryController(我的WebView的applicationDidFinishLaunching,viewDidLoad方法,我的WebView的viewDidAppear方法),甚至将它实例化为全局变量,但结果不会改变 . 观察员注册如下:

NSNotificationCenter.defaultCenter() . addObserver(self,selector:Selector(“didAddHistoryItems”),name:WebHistoryItemsAddedNotification,object:nil)

有人可以帮忙吗?我错过了什么?

1 回答

  • 1

    您需要将 : 添加到选择器的末尾以指示该方法具有参数 . 该行应该是:

    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("didAddHistoryItems:"), name: WebHistoryItemsAddedNotification, object:nil)

    您也不需要 Selector(...) 部分,可以简单地执行:

    NSNotificationCenter.defaultCenter().addObserver(self, selector: "didAddHistoryItems:", name: WebHistoryItemsAddedNotification, object:nil)

相关问题