Je suis la conversion sur iOS 5 et story-boards. Quand j'ai une table avec vue de cellule par défaut de style, tout fonctionne bien.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifierFromStoryboard"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyIdentifierFromStoryboard"];
}
return cell;
}
J'ai vu des exemples où le "si (cellule == nil)" bloc est supprimé. Cependant, si je la sors, mon application se bloque avec le message: "UITableView de la source de données doit retourner une cellule de tableView:cellForRowAtIndexPath:". Ce n'est pas un problème, car il fonctionne comme indiqué ci-dessus.
Mon problème est que je veux utiliser un style personnalisé pour la cellule et ne peut donc pas utiliser initWithStyle. Comment initialiser une cellule personnalisé que j'ai conçu sur le storyboard?
L'ancien pré-5 app avait une plume et la classe qui a utilisé quelque chose comme ça, mais maintenant, je suis en utilisant la table de montage séquentiel.
- (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;
}