Swift 4中的UIButtonClick上的reloadData()无法重新加载嵌入式UITableView

时间:2019-07-18 06:26:13

标签: ios swift uitableview reloaddata

当我向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
    }

一旦按下按钮,我只想更新表格,但是即使我尝试关注同一主题的其他问题,我也无法使其正常工作。非常感谢!

0 个答案:

没有答案