ARCの前に、「Xはxxxに応答しない可能性があります」警告があります。これはコンパイルを妨げない非常に害のない警告です。今、私のプロジェクトをARCに変換しようとしていますが、「Xのための表示されない@interfaceでセレクタxxxが宣言されています」エラーがコンパイルできません。無視する方法 "Xの表示されない@interfaceはセレクタを宣言しません"?
私は何をやっているのか、なぜ警告があったのか、私は知っています。プログラムが正しいことを教えてください。これまでコンパイラは問題なくコンパイルしていましたので、コンパイルを中止するべきではありません。
クラスXのインターフェイスは、そのセレクターを宣言していないことは事実であるが、XはforwardInvocation:
を(つまり、Objective-Cの程度美しいものの一つである使用して、動的に任意のセレクタと任意のメッセージは、それに送られ処理するクラスです)ので、そのインタフェースは、呼び出すことができるすべてのセレクタを宣言することはできません。そして、セレクタはだけではないX.
をドキュメントは言う:「あなたのオブジェクトは、それ自体が認識されない方法に対応するため、 methodSignatureForSelectorをオーバーライドする必要があります。 – rdelmar
多分、この答えはあなたを助けるかもしれません。 http://stackoverflow.com/a/8002646/1341136 – hanjae
@rdelmar:いいえ、これはコンパイル時エラーです。 – user102008