Ios 如何使用Swift更新UITableView?
我正在尝试从SQlite数据库填充表视图。票证会在控制台中打印,但表视图中不会显示任何内容。更新和刷新的正确方式是什么?这是我的密码。谢谢Ios 如何使用Swift更新UITableView?,ios,uitableview,swift3,Ios,Uitableview,Swift3,我正在尝试从SQlite数据库填充表视图。票证会在控制台中打印,但表视图中不会显示任何内容。更新和刷新的正确方式是什么?这是我的密码。谢谢 import UIKit import SQLite class TicketTableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { var tickets = [String]() @IBOutlet weak var tab
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
}
}
动态表视图需要知道它们的委托和数据源。如果未设置委托和数据源,则可以在
viewDidLoad
函数中以编程方式添加它们。像这样:
override func viewDidLoad() {
super.viewDidLoad()
//Set delegate and datasource
table.delegate = self
table.dataSource = self
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 {}
}
动态表视图需要知道它们的委托和数据源。如果未设置委托和数据源,则可以在
viewDidLoad
函数中以编程方式添加它们。像这样:
override func viewDidLoad() {
super.viewDidLoad()
//Set delegate and datasource
table.delegate = self
table.dataSource = self
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 {}
}
您是否设置了tableView的
委托
和数据源
?还要检查表的出口连接是否与TicketTableViewController连接?另一个问题是,要让您将viewDidLoad中的代码移动到ViewDidDisplay。(在所有情况下,不要忘记super…)您是否设置了tableView的委托
和数据源
?还要检查表的出口连接是否与TicketTableViewController连接?另一个问题是,要让您将viewDidLoad中的代码移动到ViewDidDisplay。(在所有情况下,不要忘记超级…)