2012-01-17 2 views
-1

たとえば、あるクラスでプロトコルを宣言し、別のクラスで呼び出したいとします。出来ますか。別のクラスのプロトコルメソッドを呼び出す方法

@protocol testProtocol 
@required 

- (void) showTestProtocol:(Call *)callObject; 

@end 

@interface TestClass1 : UITableViewController { 
     id<testProtocol> delegate; 

} 
@property (nonatomic, retain) id delegate; 
実装クラスで

@synthesize delegate; 

実際には別のクラスは、プロトコルに宣言されたメソッドの定義があります。今、このメソッドを呼び出すためにこのプロトコルを別のクラスで使用できますか?他のすべてのクラスでこのメソッドを使用する必要があります。あなたが別のクラス(たとえばにClassA)から、このプロトコルで宣言されているメソッドを使用する場合は、事前

+1

私はそれを取得しません、どのオブジェクトはどのオブジェクトのどのメソッドを呼び出す必要がありますか?プロトコルを確認するクラスでは、このメソッドを定義したクラスのようなプロトコルからそのメソッドを呼び出すことができます。 – V1ru8

+1

私は、プロトコルの概念を完全に正しく理解しているとは思いません。アップルのデベロッパードキュメントを読み、質問をより明確に書き直してください。 – Greg

+0

また、デリゲートを保持して保持サイクルを作成していないことを確認します。通常、デリゲートは割り当てられ、保持されません。 – Till

答えて

0

おかげで、あなたが最初にこのプロトコルが定義されているヘッダファイル(.H)をインポートします。そして、ClassAはプロトコルに従わなければなりません。すべてのクラスがこのメソッドを実装できるようにするために、このプロトコルに明示的に確認したくない場合は、おそらくカテゴリを使用する非公式プロトコルを使用する必要があります。

関連する問題