jak přidat seznam položek v zobrazení tabulky v prudkých 5

hlasů
0

Snažím se přidat položky do zobrazení tabulky. Vidím, že pokaždé, jsem klikněte na tlačítko nový řádek je vložena do tabulky, ale buňka je prázdná. Když jsem ladění kódu vidím všechny položky v seznamu, ale nevidím je zobrazen na samotné aplikaci. Položky „1“, „2“ a „3“ nejsou zobrazeny stejně

@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)
}

Takže vložka funguje, ale já prostě nemůže zobrazit text v tabulce. Já si nové buňky pro každou položku, které lze přidat, ale je to jen bílá prázdný prostor, namísto hodnoty, které jsem právě přidali

UPRAVIT:

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
    }
Položena 02/12/2019 v 23:56
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
0

Už jste se pokusil pomocí tableView.reloadData()? Také, nenuťte rozbalit itemLabel.text.

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

       tableView.reloadData()
    }
}

Ujistěte se také přidat tableView.reloadData()na konec viewDidLoad().

Odpovězeno 03/12/2019 v 00:16
zdroj uživatelem

hlasů
1

Je to nejlepší, aby znovu načíst tabulku, když se změní zdroj dat, které můžete udělat takto:

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

func insertItem(){
    if let text = itemLbl.text { 
        items.append(itemLbl.text)
    }
}
Odpovězeno 03/12/2019 v 00:54
zdroj uživatelem

hlasů
0

Existuje několik možností, které by mohly způsobit, že tento problém. První věc, kterou byste měli zkontrolovat, je to, že ve vašem seznamu, ujistěte se, že používáte identifikátor opětovného použití pro prototyp buněk a že jste to odkazování. Kromě toho, ujistěte se, že znovu tabulku, když přidáte prvky (nejsou trvale to, jak to bude mozků baterii uživatele). Pokud ani jeden z nich pracuje, je možné, že jste správně připojit zásuvek.

Odpovězeno 03/12/2019 v 02:24
zdroj uživatelem

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