2011-12-13 5 views
2

私のMac OS Xアプリでは、私はサブクラスNSApplicationとそれをオーバーライド-sendEvent:メソッドです。 Appleは文句:NSApplicationサブクラスで-sendEvent:をオーバーライドすることはできませんか?

アプリ 'を含むOBJC_IVAR _ $ _ NSApplication._delegate' フレームワーク '/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit' から。

どうすればよいですか?私は間違って何をしていますか?

+0

があなたを投稿することができますコード?エラーメッセージは、コンテキストなしで解読するのは容易ではありません。 –

+0

コンテキストがありません。上記の「エラー」はAppleのサポートチームの苦情です。彼らはプライベートAPIを使用していると非難しています... – Fatso

+1

@ Korion:いいえ、アップルのサポートチームは、あなたがビルドを行うたびにあなたに個人的にメッセージを書いていません。このメッセージはコンパイラからのもので、 'sendEvent:'のオーバーライドとは何の関係もありません( 'sendEvent:'はそれに言及されていません)。 –

答えて

7

あなたが直接このように、_delegate IVARを参照することにより、アプリケーションデリゲートにアクセスしている:

NSLog(@"my delegate = %p", _delegate); 

このようにあなたは、delegateアクセサメソッドを使用する必要があります。

NSLog(@"my delegate = %p", self.delegate); 
+0

うわー、素晴らしい答え!私はいくつかのコードを追加したかったが、あなたは答えを得た:D。 – Fatso