で終わる2つのプロトコル、それぞれが独自のファイル内にありますインポート2つの対物-Cプロトコルは、コンパイラエラー
// PMAService.h
#import <Foundation/Foundation.h>
#import "PMAPost.h"
#import "PMAServiceProcessingDelegate.h"
@protocol PMAService <NSObject>
-(void)setupService;
-(BOOL)processPost:(PMAPost *)post withDelegate:(id<PMAServiceProcessingDelegate>)delegate;
@end
// PMAServiceProcessingDelegate.h
#import <Foundation/Foundation.h>
#import "PMAPost.h"
#import "PMAService.h"
@protocol PMAServiceProcessingDelegate <NSObject>
-(void)successfullyProcessedPost:(PMAPost *)post by:(id<PMAService>)service;
-(void)notProcessedPost:(PMAPost *)post by:(id<PMAService>)service withError:(NSError *)error;
@end
プロトコルの各々は、メソッドの宣言のために反対を必要とします。各ファイルにインポートを作成するとすぐに、コンパイラはコンパイルすることができません。これは、プロトコルの1つを見つけることができないことを示すためです。 (PMAServiceProcessingDelegate.h
のは#import文の)PMAService.h
ため
エラーメッセージ
- 'PMAServiceProcessingDelegate.h' ファイルが
PMAServiceProcessingDelegate.h
ため
エラーメッセージ(各メソッド宣言のための1つが見つかりません):
- は
- は私が逃した「PMAService」
あり、何かの宣言を見つけることができません「PMAService」の宣言を見つけることができませんか?このようなプロトコルをインポートすることは許可されていませんか?
これはばかげた質問のように聞こえるかもしれませんが、関連性があるかもしれません:あなたの2つのプロトコル.hファイルには、中に含まれていますあなたのプロジェクトのファイルのリスト?言い換えると、Xcodeウィンドウの左側に、他のすべての.m&.hファイルが表示されますか?また、[以前に尋ねられた潜在的に有用な質問](http://stackoverflow.com/questions/2737148/cannot-find-protocol-declaration-in-xcode) –
ハイマイケル。ええ、そうです。 albertamgは既にフォワード宣言で私の問題を解決しました...とにかく感謝:) – manu