handleGetURLEvent:withReplyEvent:在AppDelegate中被KVO遮挡?

时间:2011-05-03 14:11:02

标签: objective-c cocoa macos

我看到一个奇怪的问题,试图为我的Mac应用添加自定义网址支持。我已经在Info.plist中定义了URL,当我导航到它们时,我的应用程序被启动(或者,如果运行,激活),但是,无论我的应用程序委托是否实现handleGetURLEvent:withReplyEvent:or,我在调试输出中看到以下几条消息:

+[NSKVONotifying_MyAppDelegate handleGetURLEvent:withReplyEvent:]: unrecognized selector sent to class 0x1d096e0

显然,NSKVONotifying_MyAppDelegate是由KVO为我的真实委托(称为MyAppDelegate)创建的包装器,这似乎模糊了我的handleGetURLEvent:withReplyEvent:的实现,它永远不会被调用。 AFAICT,我的应用程序中的任何内容都没有在委托上使用KVO,而且我对于可能导致这种情况的原因一无所知。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

事实证明KVO是一个红鲱鱼。该方法需要是静态的,因为仔细阅读错误消息(或文档)会明确,而我有一个实例方法(正如人们所期望的那样,对于委托方法?奇怪的API设计选择)。