Impossibile accedere UILabel in UITableViewCell
-
19-09-2019 - |
Domanda
Ho problemi ad accedere, che si trova nella UITableViewCell, che ho messo nel mio file .xib principale.
Questa etichetta è collegato a IBOutlet servicesCell.
E l'etichetta all'interno della cella vista tabella è collegata attraverso IBOutlet SERVICELABEL.
In fase di runtime Non ricevo il testo che sto assining a tale etichetta.
In seguito è il mio codice di esempio per questo.
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"];
Qualcuno ha qualche idea quindi si prega di aiutare ..
Grazie in anticipo ..
Soluzione
Dici che il tuo cellulare è nel file XIB principale, ma lo prendo il cellulare è in realtà "servicesCell.xib", giusto?
Presumo si è iniziato con "Loading Table-View cellule da Pennino Files" . Questo codice è simile all'esempio di Apple, quindi immagino che hai iniziato lì. Se hai appena copiato il codice da qualche parte senza capirla, andate a leggere quel documento prima.
Si deve camminare attraverso questo codice nel debugger e assicurarsi che tutto è impostato a quello che si pensa che dovrebbe essere impostato. La causa più comune di "non succede niente" è che si sta inviando messaggi a zero, e così scommetto una delle vostre variabili qui è in realtà pari a zero. Guardando a questo codice, i più probabili colpevoli sono mancata in realtà qualcosa di filo in IB (questa è la causa più comune di oggetti nil quando si lavora con ONA; doppio controllo che davvero lo ha fatto), o che non è stato assegnato l'etichetta tag previsto di 1.
Altri suggerimenti
Inserire l'UITableViewCell in un suo pennino.