Agregar un delegado a un UITableViewCell personalizado (error de acceso incorrecto)

Estoy tratando de agregar un delegado personalizado a un UITableViewCell mío personalizado.

En esta celda tengo un botón que necesita activar un método en el ViewController donde se encuentra el UITableView.

Estoy haciendo todos los pasos habituales para agregar un delegado personalizado, pero por alguna razón cuando abro el VC en tiempo de ejecución, la aplicación se bloquea y me da un error de acceso incorrecto.

Cuando comento todo el código de delegado, funciona correctamente, así que supongo que algo está mal en la forma en que agrego mi delegado. Cuando dejo mi propiedad de identificación sin comentar, parece fallar.

I implementar el protocolo en el VC. Asigné el delegado a la celda en cellForRowAtIndexPath :. Todos los métodos delegados están en su lugar. He estado usando construcciones similares en otras clases pero nunca antes en una subclase de UITableViewCells.

Antes de publicar un código, me gustaría saber si alguien encontró este error antes. Si y cómo lo resolvió o si es posible hacer un delegado personalizado para una subclase UITableViewCell.

EDITAR

Mi customCell.h

#import <UIKit/UIKit.h>

@class MyTableViewCell;

@protocol MyTableCellProtocoll <NSObject>

-(void) didPressButton:(MyTableViewCell *)theCell;

@end

@interface MyTableViewCell : UITableViewCell
{

    UIButton *myButton;

    id<MyTableCellProtocoll> delegationListener;

}

@property (nonatomic,retain) UIButton *myButton;

@property (nonatomic,assign) id<MyTableCellProtocoll> delegationListener;

- (void) buttonAction;

@end

.metr

#import "MyTableViewCell.h"

@implementation MyTableViewCell

@synthesize myButton;
@synthesize delegationListener;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code

        self.myButton = [UIButton buttonWithType:UIButtonTypeCustom];
        self.myButton.backgroundColor = [UIColor clearColor];
        self.myButton.frame = CGRectMake(5, 0, 10, 32);
        self.myButton.titleLabel.adjustsFontSizeToFitWidth = YES;
        [self.myButton addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside];
        [self.contentView addSubview:self.myButton];  
    }
    return self;
}

- (void) buttonAction
{
    NSLog(@"buttonpressed");
    [self.delegationListener didPressButton:self];
}

@end

MyVC implementa el delegado como corresponde en .h

@interface MyVC : UIViewController <UITableViewDelegate, UITableViewDataSource, MyTableCellProtocoll>

y también usa el método delegate de MyTableCellProtocoll en .m

- (void)didPressButton:(MyTableViewCell *)theCell
{
    NSLog(@"didPressButton");
}

Asigno el delegado en cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{    
    static NSString *CellIdentifier = @"Cell";

    MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[MyTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        cell.delegationListener = self;
    }

    return cell;
}

Estas son todas las ubicaciones que uso para el delegado. Lo que quiero que haga es cambiar el título de los botones e insertar algunas filas después de esa celda (duplicados modificados)

Espero que esto aclare un poco más las cosas.

EDIT2: El método del botón no se llama al inicio como se mencionó en la sección de comentarios. Código editado con logcode.

EDIT3: No hay nada malo con el botón. Es la propiedad del delegado que está en mal estado en alguna parte. Con puntos de interrupción y registros y comentarios, me aseguré de eso.

El código se está ejecutando hasta el último elemento en mi lista de fuentes de datos y luego se bloquea. 1 paso más cerca del problema ahora, supongo.

FINAL EDIT: Ok, parece que todos los delegados y botones y otros componentes no fueron el problema en absoluto. Era el heightForRowAtIndexPath: jodiéndome. ¡Gracias por todo su apoyo de todos modos!

Respuestas a la pregunta(3)

Su respuesta a la pregunta