Vorrei sapere come ottenere il valore stringa textLabel
selezionato uitableviewcell
.Ottieni testo testo della cella selezionata utilizzando l'SDK dell'iPhone
risposta
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
// now you can use cell.textLabel.text
}
È possibile ottenere la cella utilizzando [self.tableView cellForRowAtIndexPath:] e poi accedere alla sua proprietà textLabel.text, ma di solito c'è un modo migliore.
In genere è stata compilata la tabella in base ad alcuni array di modelli a cui UITableViewController ha accesso. Quindi un modo migliore per gestirlo nella maggior parte dei casi è prendere il numero di riga della cella selezionata e usarlo per trovare i dati associati nel modello.
Per esempio, diciamo che il controller ha una serie di Buddy
oggetti, che dispongono di una proprietà name
:
NSArray *buddies;
Si popolano questo array eseguendo una query o qualcosa del genere. Poi, nel tableView:cellForRowAtIndexPath:
si costruisce una cella di vista della tabella in base al nome di ciascun compagno:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"BuddyCell"];
if (!cell) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"BuddyCell"] autorelease];
}
cell.textLabel.text = [buddies objectAtIndex:indexPath.row];
return cell;
}
Ora, quando l'utente seleziona una riga, basta tirare l'oggetto corrispondente compagno fuori del vostro array e fare qualcosa con esso.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
Buddy *myBuddy = [buddies objectAtIndex:indexPath.row];
NSLog (@"Buddy selected: %@", myBuddy.name);
}
if (selected)
{
indicator.image = [UIImage imageNamed:@"IsSelected.png"];
[arrSlectedItem addObject:strselecteditem];
NSLog(@"-- added name is %@", strselecteditem);
}
else
{
indicator.image = [UIImage imageNamed:@"NotSelected.png"];
[arrSlectedItem removeObject:strselecteditem];
NSLog(@"--- remove element is -- %@", strselecteditem);
}
Se qualcuno si imbatte in questo e si chiede come fare questo in rapida del codice è qui sotto. Ricordarsi inoltre di utilizzare il binding opzionale per scartare quello opzionale ed evitare anche di stampare "Opzionale (" Etichetta elemento maschiato ")".
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath)
// Unwrap that optional
if let label = cell?.textLabel?.text {
println("Tapped \(label)")
}
}
Ecco quello che ho usato, molto semplice
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath){
if editingStyle == UITableViewCellEditingStyle.Delete
{
//create cellobj with indexpath for get it text
let cell = tableView.cellForRowAtIndexPath(indexPath)
let celltext = (cell?.textLabel?.text!)! as String
//do what ever you want with value
print((cell?.textLabel?.text!)! as String)
}
}
- 1. Centra il testo nella cella della tabella
- 2. Come ottenere il testo della cella basato su indexPath?
- 3. Ottieni valori modulo testo Campi in UITableView Cella personalizzata
- 4. Testo all'interno della cella della tabella allineato in modo errato
- 5. Come invertire il colore del testo della riga NSTableView selezionata
- 6. Ottieni testo in getElementsByClassName
- 7. Colore sfondo di ritorno della cella selezionata
- 8. Converti valore cella Excel da testo a numero utilizzando C#
- 9. Ottieni testo nella colonna CSS3?
- 10. UITableView - Evidenzia cella selezionata [iOS]
- 11. collegamento ipertestuale su Testo nella cella utilizzando phpExcel
- 12. Confini cella iText che tagliano il testo
- 13. Rimozione ombra testo in UITableViewCell quando è selezionata
- 14. Come allineare verticalmente immagine + testo all'interno della cella di tabella
- 15. come inserire la casella di testo nella cella della tabella
- 16. Ottieni testo sopra la tabella MS Word
- 17. Ottieni l'indice della scheda selezionata in tabHost
- 18. CSS Imposta colore sfondo cella tabella utilizzando testo all'interno cella tabella
- 19. DataTables - traduce un testo relativo all'estensione selezionata
- 20. Copia il testo dell'area selezionata negli appunti
- 21. Android Espresso controllo selezionata testo filatore
- 22. Android- Ottieni testo da PDF
- 23. Testo cella Excel non visualizzato nella cella vuota successiva
- 24. cambia automaticamente la direzione del testo della casella di testo
- 25. Riutilizzo cella con campo di testo
- 26. Excel SUMIF quando un'altra cella contiene testo
- 27. Ottieni il testo della barra di ricerca in rapido
- 28. Nascondere il bordo della cella selezionata in qtablewidget in pyqt?
- 29. Aggiungi testo utilizzando StreamWriter
- 30. UITableLa cella selezionata non viene selezionata durante lo scorrimento
che era quello che stavo cercando di fare, ma io non pensavo che la cosa fo NSArray. – lab12
Fresco. Potrei dire in base alla tua domanda che questo probabilmente sarebbe un modo più pulito per ottenere ciò che stavi cercando di fare. – cduhn