Xcode 4.5 を使用しています。私の最新の Xcode プロジェクトでは、プログラムをビルド/コンパイルするときに次の警告ポップアップが表示されます。
Category is implementing a method which will also be implemented by its primary class
これは、エラーの原因となっている私のコードです:
@implementation NSApplication (SDLApplication)
- (void)terminate:(id)sender {
SDL_Event event;
event.type = SDL_QUIT;
SDL_PushEvent(&event); }
@end
コンパイラが警告生成を無視 (またはスキップ) するようにしpragma code
ました。
したがって、私のコードは次のようになります。
@implementation NSApplication (SDLApplication)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
- (void)terminate:(id)sender{
SDL_Event event;
event.type = SDL_QUIT;
SDL_PushEvent(&event);}
#pragma clang diagnostic pop
@end
明らかにそれは仕事をし、ビルド/コンパイルされると、警告は生成されません。
私の質問は、これはこの方法で警告を抑制または無視する安全な方法ですか?
サブクラスを使用することが有利であるといくつかのスレッドで読みましたが、この方法でそれらを使用することに反対する人がたくさんいました...あなたの考えに感謝します:)