mir*_*hip 1 uitableview ios swift
我正在开发一款游戏,您可以"雇用"开发人员为您工作.基本上我有1个表视图,其中包含您可以雇佣的所有可能的员工,以及另一个表格视图,其中包含您雇佣的员工.
问题是我有第三个表视图,您可以"学习"不同的编码语言,这反过来又会改变每个开发人员可以赚取的金额.
我想要完成的是当玩家按下按钮学习新的编码语言,更新已学习的最新编码语言的变量,从而影响开发人员赚取的金额.
我已经完成了所有工作,但是为了更新我拥有的所有标签,我需要在另一个表视图中按下"学习"按钮时在Employees表视图中重新加载数据.有什么建议??
使用委托.
假设您有两个类,EmployeeTable
并且LearnTable
.通过协议使Employee表成为Learn表的委托.
在LearnTable
类中,在顶部添加委托协议:
protocol LearnTableDelegate {
func didUpdateTable()
}
Run Code Online (Sandbox Code Playgroud)该EmployeeTable
班必须遵守协议和执行它指定的功能.通过扩展课程来遵守协议是一种很好的做法:
extension EmployeeTable: LearnTableDelegate {
func didUpdateTable() {
// do whatever is necessary to update the table
}
}
Run Code Online (Sandbox Code Playgroud)本LearnTable
类需要一个地方来存储参考其代表,这将是可选的,因为引用不能设置:
class LearnTable {
var delegate: LearnTableDelegate?
}
Run Code Online (Sandbox Code Playgroud)(这里我假设您是从EmployeeTable执行此操作.)在创建实例之后LearnTable
和之前,添加对EmployeeTable的引用作为委托.
let learnTable = LearnTable()
learnTable.delegate = self
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
533 次 |
最近记录: |