Estoy convirtiendo a iOS 5 y guiones gráficos. Cuando tengo una vista de tabla con el estilo de celda predeterminado, todo funciona bien.¿Cómo inicializar una celda de tabla de estilo prototipo personalizada en los storyboards iOS 5?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifierFromStoryboard"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyIdentifierFromStoryboard"];
}
return cell;
}
He visto ejemplos donde se elimina el bloque "if (cell == nil)". Sin embargo, si lo saco, mi aplicación se bloquea con el mensaje: "UITableView dataSource debe devolver una celda de tableView: cellForRowAtIndexPath:". Esto no es un problema porque funciona como se muestra arriba.
Mi problema es que quiero usar un estilo personalizado para la celda y, por lo tanto, no puedo usar initWithStyle. ¿Cómo inicializo una celda personalizada que he diseñado en el guión gráfico?
La antigua aplicación anterior a 5 tenía una punta y una clase que usaba algo como esto, pero ahora estoy usando el guión gráfico.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MyCustomTableCell *cell = (MyCustomTableCell *) [tableView dequeueReusableCellWithIdentifier:@"MyCustomIdentifier"];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MyCustomTableCell" owner:self options:nil];
cell = (MyCustomTableCell *) [nib objectAtIndex:0];
}
return cell;
}
¿Qué sucede si aún intenta utilizar este Nib como el TableViewCell personalizado? – onmyway133