我正在使用 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
显然它完成了这项工作,并且一旦构建/编译,就不会生成任何警告。
我的问题是,这是一种以这种方式抑制或忽略警告的安全/正常方式吗?
我在一些线程上读到使用子类是有利的,但是有很多人反对以这种方式使用它们......我很感激你的想法:)