gpt4 book ai didi

ios - 如何从不同的 TableView 刷新 TableView 中的数据

转载 作者:搜寻专家 更新时间:2023-11-01 05:47:34 24 4
gpt4 key购买 nike

我正在开发一款游戏,您可以在其中“雇用”开发人员为您工作。基本上我有 1 个 TableView ,其中包含您可以雇用的所有可能的员工,另一个 TableView 包含您已雇用的员工。

问题是我有第三个表格 View ,您可以在其中“学习”不同的编码语言,这反过来又会改变每个开发人员可以获得的收入。

我想要完成的是当玩家按下一个按钮来学习一种新的编码语言时,为最近学习的编码语言更新一个变量,进而影响开发者赚的钱.

我已经让一切正常工作,但是为了更新我拥有的所有标签,我需要在其他 TableView 中按下“学习”按钮时重新加载 Employees TableView 中的数据。有什么建议吗??

最佳答案

使用delegation .

假设您有两个类,EmployeeTableLearnTable。通过协议(protocol)使 Employee 表成为 Learn 表的委托(delegate)。

  • LearnTable 类中,在顶部添加委托(delegate)协议(protocol):

    protocol LearnTableDelegate {

    func didUpdateTable()

    }
  • EmployeeTable 类必须遵守协议(protocol)并实现其指定的功能。通过类的扩展来遵守协议(protocol)是一种很好的做法:

    extension EmployeeTable: LearnTableDelegate {

    func didUpdateTable() {
    // do whatever is necessary to update the table
    }

    }
  • LearnTable 类需要一个地方来存储对其委托(delegate)的引用,这将是可选的,因为可能未设置引用:

    class LearnTable {

    var delegate: LearnTableDelegate?

    }
  • (这里我假设您是从 EmployeeTable 执行此操作。)在创建 LearnTable 的实例之后,在继续进入 in 之前,将对 EmployeeTable 的引用添加为委托(delegate)。

    let learnTable = LearnTable()
    learnTable.delegate = self

关于ios - 如何从不同的 TableView 刷新 TableView 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36414621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com