首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从另一个视图控制器更新UITableView数据单元格

的常见做法是使用委托模式或闭包(闭包通常在Swift中使用)。下面是一个简单的示例:

  1. 创建一个协议,用于定义委托方法:
代码语言:txt
复制
protocol UpdateDataDelegate: class {
    func updateData(with newData: [String])
}
  1. 在数据源视图控制器中,声明一个委托属性:
代码语言:txt
复制
class DataSourceViewController: UIViewController {
    weak var delegate: UpdateDataDelegate?
    
    // 其他代码...
}
  1. 在数据源视图控制器中,当需要更新数据时,调用委托方法:
代码语言:txt
复制
class DataSourceViewController: UIViewController {
    // ...

    func updateData() {
        let newData = ["Data 1", "Data 2", "Data 3"]
        delegate?.updateData(with: newData)
    }
    
    // ...
}
  1. 在目标视图控制器中,实现委托方法,并在其中更新UITableView的数据源:
代码语言:txt
复制
class TargetViewController: UIViewController, UpdateDataDelegate {
    // ...
    
    func updateData(with newData: [String]) {
        // 更新UITableView的数据源
        // tableViewData = newData
        // tableView.reloadData()
    }
    
    // ...
}
  1. 在目标视图控制器中,将委托设置为数据源视图控制器:
代码语言:txt
复制
class TargetViewController: UIViewController {
    // ...

    func showDataSourceView() {
        let dataSourceVC = DataSourceViewController()
        dataSourceVC.delegate = self
        present(dataSourceVC, animated: true, completion: nil)
    }
    
    // ...
}

这样,当从数据源视图控制器中调用updateData()方法时,目标视图控制器的updateData(with:)方法会被触发,从而更新UITableView的数据源。

推荐的腾讯云相关产品:TencentDB(数据库服务)、Tencent Cloud Virtual Machine(云服务器)等。你可以在腾讯云官网找到这些产品的详细介绍和相关链接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券