カテゴリを使用してメソッドをオーバーライドする必要があります。これを行うことの危険性も認識しています (これは別のクラス内のプライベート クラスであり、誰も別のオーバーライド カテゴリ メソッドを記述しないため、未定義の動作は保証されません)。同様の質問をたくさん見てきましたが、それらはすべて、次のようなものを使用してコンパイラの警告を抑制することに対処しています。
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
// do your override
#pragma clang diagnostic pop
ただし、これでもリンカーの警告が残ります。Xcode 4.6 で、私が安全と考える特定のオーバーライドのためにそれを取り除くことは可能ですか?
問題を示すサンプル GitHub プロジェクトを次に示します。