加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 从自定义单元格重新加载tableview数据

发布时间:2020-12-14 02:24:43 所属栏目:百科 来源:网络整理
导读:我有一个自定义单元格的tableView. 我还有一个针对这个custrom单元的.swift文件. 在这个文件中,我有一个函数,它没有发送者:AnyObject输入参数. 如何从此函数调用tableView.reloadData()? 尝试创建一个委托. (我假设你知道,如果不看看有关委托和协议的苹果
我有一个自定义单元格的tableView.

我还有一个针对这个custrom单元的.swift文件.

在这个文件中,我有一个函数,它没有发送者:AnyObject输入参数.

如何从此函数调用tableView.reloadData()?

尝试创建一个委托. (我假设你知道,如果不看看有关委托和协议的苹果文档)

所以我建议的想法是创建一个将在UITableViewController(或符合UITableViewDelegate协议的UIViewController)中实现的函数

首先尝试在CustomCell.swift文件之上添加协议.

protocol CustomCellUpdater: class { // the name of the protocol you can put any
    func updateTableView()
}

然后在CustomCell.swift中:

weak var delegate: CustomCellUpdater?

func yourFunctionWhichDoesNotHaveASender () {
    ...
    delegate?.updateTableView()
}

在你的UITableViewController(或等效的)之后

func updateTableView() {
    tableView.reloadData() // you do have an outlet of tableView I assume
}

最后,使您的UITableview类符合CustomCellUpdater协议

func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {

   let cell = tableView.dequeueReusableCell(withIdentifier: "yourIdentifier",for: indexPath) as! YourTableViewCell
   cell.delegate = self
}

理论上它应该有效.如果我错过任何东西,请告诉我

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读