Swift:使用委托机制更新表数据

问题描述

我仍在努力使用委托方法更新从外部类触发的UITableView元素中的数据。我已经可以在包含表格本身的类中更新表格数据(例如,viewDidLoad())。但是我希望在另一个视图控制器类中的按钮被制表时更新此表。是的,我是菜鸟:(

这是我的第一个类,其中包含要更新的表及其更新方法:

class OrderHistoryController: UIViewController,UITableViewDataSource,UITableViewDelegate,reloadTableDataDelegate {
  
    //update table data
    func reloadTableData() {
        self.orderTable.delegate = self
        self.orderTable.dataSource = self
        self.orderTable.reloadData()
        print("update successful")
    }
    
    @IBOutlet var orderTable: UITableView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    override func viewDidAppear(_ animated: Bool) {
        reloadTableData()
    }
}

这是委派协议:

protocol reloadTableDataDelegate: class {
    func reloadTableData()
}

这是必须在其中触发表数据更新的类:

class OrderDocumentationController: UIViewController {
    
    weak var delegate: reloadTableDataDelegate?
    
    //delegate function to update table in order history
    func updateTableInOrderHistory() {
        delegate?.reloadTableData()
    }
    
    @IBAction func save(_ sender: UIButton) {
        updateTableInOrderHistory()
    }
}

该代码不会导致错误,但是委派根本不起作用。似乎没有被调用,我的表没有更新...您能帮我吗?提前非常感谢!!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)