didSelectRowAtIndexPath no se llama

Tengo un UITableView dentro de un UIViewController así:

.marido

@interface OutageListViewController : UIViewController<UITableViewDelegate,UITableViewDataSource> { IBOutlet UITableView *outageTable; 

.metro

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"Selected"); } 

He personalizado la celda de la tabla:

// EDITAR Tengo Fire UILabel lado a lado en mi vista personalizada, así como un background que se extiende por toda el área. Pero después de networkingimensionar / eliminar la image de background y la label que puse en la celda personalizada, "didSelectRowAtIndexPath" aún no se llama. // EDITAR FINAL

 @interface AbstractSummaryListViewCell : UITableViewCell {...} 

y

 @interface FiveColumnSummaryCell : AbstractSummaryListViewCell {...} 

Esta UIView está dentro de otra UIView:

 @interface CustomTabBarController : UIViewController { OutageListViewController *outageListViewController; 

Y mi AppDelegate agrega esto a la window:

 [window addSubview:[customTabBarController view]]; 

Ahora estoy intentando determinar qué celda se hace clic y didSelectRowAtIndexPath no se llama, tengo dataSource y dejo conectar desde UITableView al propietario del file, de hecho, los datos se rellenan correctamente cuando mi "cellForRowAtIndexPath" especifica, cualquier idea, ¿cómo puedo ¿arregla esto?

¡Gracias!

Lo resolví: olvidé verificar la interacción del usuario habilitada en mi celda personalizada xib. ¡Qué tonto!

Es posible que el controller de vista no se haya conectado a la propiedad de delegate de la outageTable de outageTable cualquier lugar.

¿Son todas las properties siguientes de UITableView YES ?

  • permite la elección
  • permite la selección durante la edición

Edit : Creo que Paul tiene razón. La propiedad delegada tiene algún problema. Puede verificar la propiedad del delegado de tableView dentro – (void) viewDidLoad. Como dijiste, deberían estar conectados a FileOwner en xib. Por lo tanto, los siguientes códigos no obtendrán nada.

 - (void)viewDidLoad { [super viewDidLoad]; // They should not be nil. NSLog(@"delegate:%@ dataSource:%@", self.tableView.delegate, self.tableView.dataSource); } 

Puede realizar una testing rápida … Elimine la label "grande" y vea si se llamó a ifSelectRowAtIndexPath.