Declarando um protocolo delegado

Eu gostaria de saber qual é a diferença quando declarar umprotocol na mesma classe e ao declará-lo em um arquivo separado; exemplo:

#import <UIKit/UIKit.h>

@class MyClassA;

@protocol MyDelegate <NSObject>

@required
- (MyClassA*)myMythod;

@optional
- (void)anOtherMethod:(NSString*)ID;

@end

@interface MyClassB : UIViewController <UITableViewDataSource, UITableViewDelegate>

@property (nonatomic, assign) id <MyDelegate> delegate;
......

aqui eu declaro o protocolo delagate no mesmo arquivo com MyClassB, e posso declará-lo (o delegado de protocolo) em um arquivo de origem separado. Qual é a diferença entre declará-lo no mesmo arquivo com a classe e em um arquivo separado? Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion