Como usar o padrão de delegação no iPhone

Tenho algumas perguntas sobre o uso do delegado patten no iPhone.

Este é o código usando delegado patten. Este código funciona.

SecondViewController *secondViewController = [[SecondViewController alloc] init];   
    secondViewController.delegate = self;
    [self.navigationController pushViewController:secondViewController animated:YES];
    [secondViewController release];

Eu escrevi código assim. Mas isso não funciona. Eu pensei que delegar não é válido.

GoogleDocsViewController *googleDocsView = [[GoogleDocsViewController alloc]initWithNibName:@"GoogleDocsViewController" bundle:nil];
    googleDocsViewController.delegate = self;
    [self.navigationController pushViewController:googleDocsView animated:YES];
    [googleDocsView release]; 

Eu não sabia por que esse código tem aviso. Aviso assim.

A classe 'RootViewController' não implementa o protocolo 'GoogleDocsViewControllerDelegate'

O que eu posso fazer ?

ADICIONAR CÓDIGO FONTE

GoogleViewController.h

@protocol GoogleDocsViewControllerDelegate;
@interface GoogleDocsViewController : UIViewController<UITextFieldDelegate> {       
    id<GoogleDocsViewControllerDelegate> delegate;
}
@property (nonatomic,assign) id<GoogleDocsViewControllerDelegate> delegate;

@end

@protocol GoogleDocsViewControllerDelegate<NSObject>;

@required

-(void) googleViewControllerInputDidEnd:(NSString *)text;

@end

googleDocsViewController.m

-(void)googleViewControllerInputDidEnd:(NSString *)text{
    NSLog(@"delegate"); 
}

Este método de texto googleViewControllerInputDidEnd: (NSString *) é a fonte de teste.

questionAnswers(1)

yourAnswerToTheQuestion