L'échec d'Assertion dans -[UITableView _configureCellForDisplay:forIndexPath:]
Quelqu'un peut-il me dire pourquoi j'obtiens cette erreur?
Voici mon .m fichier:
#import "ListaParticipantesViewController.h"
#import "Participantes.h"
#import "ModParticipantesViewController.h"
@implementation ListaParticipantesViewController
@synthesize dao;
@synthesize participantes;
- (void)viewDidLoad
{
dao = [[ParticipantesDAO alloc] init];
participantes = [[NSMutableArray alloc] init];
participantes = [dao getDatos];
[super viewDidLoad];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [participantes count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"celda";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.textLabel.text = [[participantes objectAtIndex:[indexPath row]] valueForKey:@"nombre"];
return cell;
}
#pragma mark - Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
ModParticipantesViewController *destino = [self.storyboard instantiateViewControllerWithIdentifier:@"visualizacion"];
Participantes *tmp = [participantes objectAtIndex:[indexPath row]];
destino.participante = tmp;
[self.navigationController pushViewController:destino animated:YES];
}
@end
et l'erreur affichée est:
2013-04-13 17:40:20.235 Registro[5314:c07] *** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /SourceCache/UIKit_Sim/UIKit-2380.17/UITableView.m:5471
2013-04-13 17:40:20.237 Registro[5314:c07] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'
*** First throw call stack:
(0x209d012 0x11aae7e 0x209ce78 0xc40665 0x1a4c1b 0x13940c 0x1a4a7b 0x1a9919 0x1a99cf 0x1921bb 0x1a2b4b 0x13f2dd 0x11be6b0 0x2699fc0 0x268e33c 0x2699eaf 0x1de2bd 0x126b56 0x12566f 0x125589 0x1247e4 0x12461e 0x1253d9 0x1282d2 0x1d299c 0x11f574 0x11f76f 0x11f905 0x128917 0xec96c 0xed94b 0xfecb5 0xffbeb 0xf1698 0x1ff8df9 0x1ff8ad0 0x2012bf5 0x2012962 0x2043bb6 0x2042f44 0x2042e1b 0xed17a 0xeeffc 0x306d 0x1ef5)
libc++abi.dylib: terminate called throwing an exception
(lldb)
Merci d'avance!
double possible de l'échec d'Assertion dans dequeueReusableCellWithIdentifier:forIndexPath:
Vous obtenez cette affirmation lorsque vous revenez nul pour
Vous obtenez cette affirmation lorsque vous revenez nul pour
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
OriginalL'auteur emp233 | 2013-04-13
Vous devez vous connecter pour publier un commentaire.
Le storyboard ou XIB ne dispose pas d'une cellule définie par la cellule identifiant que vous avez spécifié.
Oh! juste une faute de frappe! Je l'ai! merci de Hal!
OriginalL'auteur Hal Mueller
très il est spécifié, beaucoup de détails, wow
OriginalL'auteur Dipak Narigara
Avez-vous votre sous-classé ListaParticipantesViewController avec les classes UITableViewDelegate, UITableViewDataSource? Ils sont nécessaires pour être en mesure d'utiliser délégué de source de données et méthodes.
Dans Swift:
OriginalL'auteur XHotSniperX
Vous devez définir le délégué et la source de données de tableview dans l'en-tête.
Objecitve c
Swift
}
OriginalL'auteur Solid Soft
J'ai eu la même erreur. Il s'avère que c'était le même problème, qu'il ne trouve pas ma cellule identifiant, mais pour une raison différente - j'ai été sous-classement UITableViewCell, mais n'avais pas enregistré mon .XIB fichier avec mon UITableView pour un reuseIdentifier.
Je l'ai résolu en resgitering dans le viewDidLoad
Et puis la création de la cellule
Espère que cela aide quelqu'un!
OriginalL'auteur Joel Balmer
Dans mon cas, j'ai eu une simple erreur..
Mon nombre de lignes a été défini par la matrice.le comte.
Quand j'ai actualisé ce tableau j'ai enlever tous les objets, lance la connexion, l'ajout d'objets à la matrice, puis de recharger la tableview.
J'ai mis le retrait d'objets une fois que la connexion a été achevée et il a résolu mon problème.
OriginalL'auteur jonypz