2011-08-04 6 views
0

私の人生の間、私はこのプロトコル宣言の何が間違っているのか分かりません。私は右の@requred後の行に次のエラーを取得:パラメータとしてNSObjectを持つプロトコルを定義できません

*予想

前* が予想「)」「MyServiceで」前

@protocol MyServiceDelegate 

@required 
- (void)requestFinished:(MyService *)service; 
@end 

@interface MyService : NSObject 

@property (nonatomic, assign) id <MyServiceDelegate>delegate; 
@property (nonatomic, assign) NSURLConnection *connection; 

@end 

答えて

5

MyServiceDelegateプロトコルをコンパイルする場合、コンパイラはおよそMyServiceクラスを知りません。あなたはこの解決するために前方宣言を使用することができます。エラーの時点で

@class MyService; 

@protocol MyServiceDelegate 
// implementation continues 
1

を、コンパイラがあなたたMyServiceクラスについて知っていません - 追加

@class MyService; 

@protocol MyServiceDelegate 

と完全に動作するはずです。

0

プロトコルの前に@class MyServive;を追加する必要があります。あなたはプロトコルの中でそれを使用します。

関連する問題