Domanda

Sto usando una vista da tabella "celle statiche" creata nel mio file di storyboard. Tuttavia, vorrei aggiornare il testo su una di queste celle quando viene modificata un'impostazione.

Sto spingendo un controller di visualizzazione che aggiorna l'impostazione. Sto cercando di usare un callback per cambiare il testo della cella quando è saltato fuori dallo stack, ma a quel punto la cella è stata apparentemente riciclata o riutilizzata, quindi il vecchio oggetto è fuori schermo e non più utilizzato nella vista del tavolo.

Esiste un modo per aggiornare questo testo e renderlo permanente (in modo che quando la cella viene scorreta fuori dallo schermo e ritorna, appare ancora il nuovo valore)?

È stato utile?

Soluzione

Supponendo che la gerarchia di visualizzazione del tavolo sia sulla falsariga di:

Table View (static cells)
 - Table View Section
  - Table View Cell
    - UILabel (with the text property you want to modify)
  1. Dichiarare un iboutlet UILabel nel tuo codice e preparalo nello storyboard UILabel Nella gerarchia di visualizzazione della tabella sopra.
  2. Nel tuo metodo di callback, imposta il tuo UILabelProprietà del testo come ritieni opportuno.

Altri suggerimenti

Puoi archiviare il testo che desideri cambiare come proprietà e usarlo in:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = super.tableView(tableView, cellForRowAtIndexPath: indexPath)

    switch (indexPath.section, indexPath.row) {
    case (0, 3):
        cell.textLabel?.text = yourProperty

    default: break
    }

    return cell
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top