2009-10-03 7 views
0

Je rencontre des problèmes pour accéder à UITableViewCell, que j'ai placé dans mon fichier .xib principal.Impossible d'accéder à UILabel dans UITableViewCell

Cette étiquette est connectée à IBOutlet servicesCell.

Et l'étiquette à l'intérieur de la cellule de vue table est connectée via IBOutlet serviceLabel.

Lors de l'exécution, je ne reçois pas le texte que j'assied à cette étiquette.

Voici mon exemple de code pour cela.

static NSString *ServiceIdentifier = @"ServiceIdentifier"; 

UITableViewCell *cell1 = [tableView dequeueReusableCellWithIdentifier:ServiceIdentifier]; 

if(cell1 == nil) { 
    [[NSBundle mainBundle] loadNibNamed:@"servicesCell" owner:self options:nil]; 
    cell1 = servicesCell; 
} 

// label access 
serviceLabel = (UILabel *)[cell1 viewWithTag:1]; 
serviceLabel.numberOfLines = 3; 
serviceLabel.lineBreakMode = UILineBreakModeWordWrap; 
[serviceLabel setTextAlignment:UITextAlignmentLeft]; 
[serviceLabel setText:@"Testing String"]; 

quelqu'un a une idée alors s'il vous plaît aider ..

Merci à l'avance ..

Répondre

1

Vous dites que votre cellule est dans votre fichier XIB principal, mais je suppose que la cellule est réellement dans "servicesCell.xib", correct?

Je suppose que vous avez commencé avec "Loading Custom Table-View Cells from Nib Files". Ce code est similaire à l'exemple d'Apple, donc je suppose que vous avez commencé là. Si vous venez de copier ce code de quelque part sans le comprendre, lisez d'abord ce document.

Vous devez parcourir ce code dans le débogueur et vous assurer que tout est réglé sur ce que vous pensez qu'il devrait être défini. La cause la plus fréquente de "rien ne se passe" est que vous envoyez des messages à zéro, et donc je parie que l'une de vos variables ici est en fait nulle. En regardant ce code, les coupables les plus probables sont l'échec de câbler quelque chose dans IB (c'est la cause la plus commune des objets nuls lorsque vous travaillez avec des NIBs, vérifiez que vous l'avez fait), ou que vous n'avez pas assigné votre étiqueter l'étiquette attendue de 1.

0

Placez le UITableViewCell dans sa propre plume.

Questions connexes