Section, EditMode e UITableViewController

Prima di analizzare nuove caratteristiche della tabella, facciamo una summa degli argomenti trattati nella precedente lezione. La tabella o UITableView è una particolare UIView che si comporta da contenitore di elementi. Puoi pensarla come ad una Stack View con l'unica differenza che gli elementi vengono generati a partire da una Prototype Cell e da una sorgente [...]

Torna a: Corso creare applicazioni per iOS con il linguaggio Swift > TableView, TabBar e CollectionView
  • Marcello Ruta

    Esercizio 0
    posto la mia soluzione:
    func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {

    switch editingStyle {
    case .delete:
    var key_array = [String](lista_spesa.keys)
    print(“Array delle key: “, key_array)
    let current_key = key_array[indexPath.section]
    print(“Sezione corrente: “, current_key)
    print(“Elemento corrente: “, lista_spesa[current_key]![indexPath.row])

    self.lista_spesa[current_key]!.remove(at: indexPath.row) // eliminiamo l’elemento dal dizionario
    print(“Lista spesa dopo il remove: “, self.lista_spesa)
    tableView.deleteRows(at: [indexPath], with: .fade)
    // controllo se l’array corrispondenti alla key è vuoto e lo rimuovo
    for (k, val) in lista_spesa {

    if k == current_key {
    //print(“Array dei valori: “, val)
    if val.isEmpty {
    print(val, “: è vuota!”)
    lista_spesa.removeValue(forKey: k)
    tableView.reloadData()
    }
    }
    }
    break

    default:
    break
    }
    }

    Versione del codice Swift 3
    Ho implementato all’esempio la rimozione della Key del dizionario se diventa vuota.

    • Grazie Marcello ;)

      Giuseppe Sapienza
      Founder | xCoding.it – Sviluppa, Crea e Codifica i tuoi Sogni

Start typing and press Enter to search

Le Table View in iOS. Creare, riempire e gestire una tabella