Delegar do toque no botão na célula uitableview personalizada

Eu li os documentos da Apple e corroborei esses fóruns e fiz (com sucesso) alguns tutoriais e fiz meus próprios delegados e euainda não entendo alguma coisa. Estou certo de que é algo que estou afastando, mas desde que fiz a devida diligência e ainda não sei o que estou fazendo de errado, esperava que um de vocês pudesse me dizer.

A situação:

Eu tenho um UITableViewCell personalizado que possui um botão. Quando o botão é tocado, estou tentando abrir o UIImagePickerController, formando um delegado dessa célula personalizada. Posso interceptar e responder ao toque no botão, sem problemas, mas o fluxo nunca vai para o método delegado. Em outras palavras, quando passo pelo código, tudo fica bem até tentar passar do método de destino do botão para o método de delegação na segunda classe. Apenas nunca é chamado.

Aqui está o código.

No arquivo de interface da célula personalizada, defino o ID do delegado, configure o IBOutlet para o UIButton e defina o método do protocolo:

#import <UIKit/UIKit.h>

@protocol CustomPicCellDelegate;

@interface CustomPicCell : UITableViewCell <UITextInputTraits> {

    UIButton *picButton;
    ...
    id<CustomPicCellDelegate> cellDelegate;
}

@property (nonatomic, retain) IBOutlet UIButton *picButton;
...
@property (nonatomic, assign) id<CustomPicCellDelegate> cellDelegate;
...
- (IBAction)getAPic;

@end

@protocol CustomPicCellDelegate <NSObject> 
- (void)getPhoto;
@end

O UIButton está conectado ao método getAPic no IB.

No arquivo de implementação da célula personalizada, coloquei o método que o UIButton visa retocar por dentro e tento chamar o método delegado no delegado:

#import "CustomPicCell.h"

@implementation CustomPicCell
@synthesize cellDelegate;

...

- (IBAction)getAPic {
    NSLog(@"You are here ...");

    if (cellDelegate && [cellDelegate respondsToSelector:@selector(getPhoto)]) {
        [cellDelegate getPhoto];
    }
}

Na interface da classe delegada, eu a defino como delegada para a célula personalizada:

@interface DelegateClass : UIViewController < ... CustomPicCellDelegate> {
...

Na implementação da classe delegada, tento puxar o UIImagePickerController:

- (void)getPhoto {
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;

    picker.sourceType = UIImagePickerControllerSourceTypeCamera;

    [self presentModalViewController:picker animated:YES];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo (NSDictionary *)info {
    [picker dismissModalViewControllerAnimated:YES];
}

Não consigo entender por que o delegado nunca é chamado! Por favor, entenda que tenho certeza de que perdi alguma coisa, mas já estudei os documentos e esses fóruns muitas vezes e não consigo encontrar o que estou fazendo de errado. Estou usando delegados em outras partes do código muito bem. Este ponto não funciona. Alguém pode me mostrar o que eu sou dedilhado de gordura? obrigado

questionAnswers(1)

yourAnswerToTheQuestion