2011-05-03 76 views
1

我看到一個奇怪的問題,試圖向我的Mac應用程序添加自定義URL支持。我已經在Info.plist中定義了URL,當我導航到他們時,我的應用程序被啓動(或者,如果運行,激活),但是,無論我的應用程序委託是否實現handleGetURLEvent:withReplyEvent:我看到一對夫婦下列消息在調試輸出:handleGetURLEvent:withReplyEvent:在AppDelegate被KVO遮擋了嗎?

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

顯然,NSKVONotifying_MyAppDelegate是志願爲我的真正的代表(稱爲MyAppDelegate)創建了一個包裝,這似乎掩蓋我的實現handleGetURLEvent的:withReplyEvent: ,它永遠不會被調用。 AFAICT,我的應用程序中沒有任何內容在代表上使用KVO,並且我對於可能造成這種情況的想法不知所蹤。

有什麼建議嗎?

回答

0

原來KVO的東西是紅鯡魚。該方法需要是靜態的,因爲仔細閱讀錯誤消息(或文檔)會清楚,而我有一個實例方法(正如人們所期望的,對於委託方法?怪異的API設計選擇)。