Ich versuche, eine Tabellenansicht aus einer SQlite-Datenbank zu füllen. Tickets werden in der Konsole gedruckt, aber nichts wird in der Tabellenansicht angezeigt. Was ist der richtige Weg zum Aktualisieren und Aktualisieren? Hier ist mein Code. Vielen Dank!So aktualisieren Sie UITableView mit Swift?
import UIKit
import SQLite
class TicketTableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
var tickets = [String]()
@IBOutlet weak var table: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
let dm = DatabaseManager.shared
let db = dm.db!
do {
for row in try db.prepare(dm.tickets) {
let ticket = row[dm.pick]
tickets.append(ticket)
debugPrint(ticket)
}
table.reloadData()
} catch {}
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tickets.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ticket")!
cell.detailTextLabel!.text = tickets[indexPath.row]
return cell
}
}
Haben Sie die 'delegate' und' datasource' von tableView gesetzt? Überprüfen Sie auch, ob die Ausgangsverbindung der Tabelle mit TicketTableViewController verbunden ist. –
ein anderes Problem ist, um Sie in Bewegung zu versetzen bewegen Sie Ihren Code in ViewDidLoad zu ViewDidAppear. (Auf jeden Fall nicht den Super vergessen. ...) – Fattie