【发布时间】:2011-12-29 15:15:22
【问题描述】:
我应该如何回应这个警告?
警告:“...”的重复协议定义被忽略
我的协议声明在它自己的 .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
感谢您的建议。
【问题讨论】:
-
1.你确定你是
#importing 它而不是#includeing 它是偶然的吗? 2. 你确定(值得一问)你的项目中没有其他东西使用相同的名称(WrapperDelegate)吗? -
Quixoto 的评论看起来很像一个答案 :) 我也遇到了同样的问题,我错误地使用了#include。 #import 足够聪明,可以避免重复。
标签: objective-c ios xcode xcode4 llvm