如何解决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()
}
}
该代码不会导致错误,但是委派根本不起作用。似乎没有被调用,我的表没有更新...您能帮我吗?提前非常感谢!!!
解决方法
似乎代表在这里没空
meta
您需要在prepareForSegue中设置它
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。