hogyan kell hozzáadni lista elemek táblanézet a gyors 5

szavazat
0

Próbálom elemeket hozzáadni a táblázat nézet. Látom, hogy minden alkalommal, kattintson a gombra egy új sort beilleszkedik az asztalra, de a cella üres. Mikor hibakeresés a kódot látom az összes elemet a listán, de nem látom őket jelenik meg a app is. A terméket az „1”, „2” és „3” nem jelenik meg, valamint

@IBOutlet weak var itemLbl: UITextField!
    var items: [String] = [1, 2, 3]

override func viewDidLoad() {
        super.viewDidLoad()
        tableView.tableFooterView = UIView(frame: CGRect.zero)


    }

func insertItem(){
    items.append(itemLbl.text!)

    let indexPath = IndexPath(row: items.count - 1,section: 0 )
    tableView.beginUpdates()
    tableView.insertRows(at: [indexPath], with: .automatic)
    tableView.endUpdates()
    itemLbl.text = 
    view.endEditing(true)
}

Tehát a betét működik, de én csak nem tudja megjeleníteni a szöveget a táblázatban. Én nem kap egy új cella minden tétel, hogy én hozzá, de csak fehér üres tér helyett az érték, amit én csak hozzá

EDIT:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let itemLbl  =  items[indexPath.row]
        let cell = tableView.dequeueReusableCell(withIdentifier: ItemCell) as! ItemCell

        cell.itemLbl.text = itemLbl
        return cell
    }
A kérdést 02/12/2019 23:56
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
0

Próbáltad tableView.reloadData()? Továbbá, ne erőltesse kibont itemLabel.text.

func insertItem(){
    if let itemText = itemLabel.text {
       items.append(itemText)

       tableView.reloadData()
    }
}

Győződjön meg róla, hogy még hozzá tableView.reloadData()a végén viewDidLoad().

Válaszolt 03/12/2019 00:16
a forrás felhasználó

szavazat
1

A legjobb, ha újra az asztalra, amikor az adatforrás változik, amit tehetünk, mint ez:

var items: [String] = ["1", "2", "3"] {
    didSet {
        tableView.reloadData()
    }
}

func insertItem(){
    if let text = itemLbl.text { 
        items.append(itemLbl.text)
    }
}
Válaszolt 03/12/2019 00:54
a forrás felhasználó

szavazat
0

Vannak több lehetőséget, ami ezt a problémát okozzák. Az első dolog, amit ellenőrizni kell, hogy a listában, ellenőrizze, hogy az Ön által használt újrahasználtnak a ceiiaazonosítót prototípus és hogy Ön hivatkozik rá. Ezen felül, győződjön meg róla, hogy újra az asztalra, amikor egy elemet (nem állandóan csinálni, mert fog távozni a felhasználó az akkumulátor). Ha ezek egyike sem dolgozik, akkor lehetséges, hogy nem csatlakoztatja a piacok megfelelően.

Válaszolt 03/12/2019 02:24
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more