当我向SQLite表中添加新单元格时,我试图更新表视图。但是,到目前为止,当我将新单元格添加到SQLite表并调用reloadData时,没有任何更新或发生。我的UITableView已嵌入到主视图控制器中,因此可能是问题的一部分。我还觉得这可能是tableView.dataSource
或其他问题。我不确定。我是新手,很快。
我尝试从UITableViewController文件和UIViewController调用reloadData,其中包含应该添加数据然后更新表的按钮。都没有工作。我还尝试用tableView?.beginUpdates()
和tableView?.endUpdates()
我的按钮代码(按钮脚本的一部分):
@IBAction func addTask(_ sender: Any) {
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mmZZZZZ"
let taskDateFormatted = dateFormatter.string(from: taskDate.date)
let newTask = Task(title: taskTitle.text!, description: descriptionTextView.text,
date: taskDateFormatted)
let instSQLiteData = SQLiteData()
let instTaskTableVC = TaskTableVC()
instSQLiteData.uploadData(newTask.title, newTask.description, newTask.date)
instTaskTableVC.taskTable?.reloadData()
dismiss(animated: true, completion: nil)
}
我的UITableViewController脚本/类(表视图脚本的一部分):
class TaskTableVC : UITableViewController {
@IBOutlet var taskTable: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.taskTable.dataSource = self
self.taskTable.delegate = self
}
我的UITableViewController如何加载数据(表视图脚本的一部分):
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let instSQLiteData = SQLiteData()
return instSQLiteData.getRowCount()
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let instSQLiteData = SQLiteData()
let cell = tableView.dequeueReusableCell(withIdentifier: "taskCell", for: indexPath)
cell.textLabel?.text = instSQLiteData.getTasksArray()[indexPath.row]
return cell
}
一旦按下按钮,我只想更新表格,但是即使我尝试关注同一主题的其他问题,我也无法使其正常工作。非常感谢!