警告:忽略'...'的重复协议定义

Ell*_*iot 6 xcode objective-c llvm ios xcode4

我该如何回应这个警告?

警告:忽略'...'的重复协议定义

我的协议声明在它自己的.h文件中,并且在我的项目中的一些其他文件中是#import'.

好吧,以防万一,这是带有协议声明的整个头文件:

#import <Foundation/Foundation.h> 

@class Wrapper;

@protocol WrapperDelegate

@required
- (void)wrapper:(Wrapper *)wrapper didRetrieveData:(NSData *)data;

@optional
- (void)wrapperHasBadCredentials:(Wrapper *)wrapper;
- (void)wrapper:(Wrapper *)wrapper didCreateResourceAtURL:(NSString *)url;
- (void)wrapper:(Wrapper *)wrapper didFailWithError:(NSError *)error;
- (void)wrapper:(Wrapper *)wrapper didReceiveStatusCode:(int)statusCode;

@end
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议.

Ell*_*iot 6

检查以确保您的项目中没有添加头文件两次,或者两个不同的文件都实现了协议.这就是导致警告出现的原因.

  • 如果我有两个类实现相同的协议会发生什么?他们俩都需要它,所以我该如何解决这个问题呢? (4认同)
  • @zach(或任何其他有相同问题的人) - 我遇到了这个问题并发布了一个问题,现在已经回答了[这里](http://stackoverflow.com/questions/10001293/duplicate-protocol-definition-warning - 丁I-需要-倍数-的-这个协议/ 10001416#10001416). (2认同)