2011-10-01 35 views
0

在我在下面的代码中提到的WebServiceAPI.h中,我声明了一个具有所需metod - (void)apiFinished:(WebServiceAPI *)api的协议。编译代码时,出现'WebServiceAPI'之前出现此错误:WebServiceAPI.h:13:error:expected')'(第13行是声明协议方法的地方)。我在哪里做错了?在Objective-C协议声明中出现错误之前的预期')'

#import <Foundation/Foundation.h> 
@protocol WebServiceAPIDelegate 
@required 
    -(void) apiFinished:(WebServiceAPI *)api; 
@end 

@interface WebServiceAPI : NSObject{ 
    NSString *address; 
    NSMutableData *dataWebService; 
} 

@property (nonatomic, assign) id <WebServiceAPIDelegate>delegate; 
@property(nonatomic, retain) NSString *address; 
@property(nonatomic, retain) NSMutableData *dataWebService; 
@end 

回答

3

的问题是,WebServiceAPIDelegate不知道类WebServiceAPI定义时。在创建WebServiceAPIDelegate @protocol声明之前,添加@class指令。

// Add the following line to let the compiler stop worrying about 
// the existance of class WebServiceAPI 

@class WebServiceAPI; 

@protocol WebServiceAPIDelegate 
@required 
    -(void) apiFinished:(WebServiceAPI *)api; 
@end