Ios 如何从不同的tableview刷新tableview中的数据
我正在开发一款游戏,你可以“雇佣”开发者为你工作。基本上,我有一个表视图,其中包含您可以雇佣的所有可能的员工,还有一个表视图,其中包含您雇佣的员工 问题是,我有第三个表视图,您可以在其中“学习”不同的编码语言,这反过来会改变每个开发人员可以赚取的金额 我试图做到的是,当玩家按下一个按钮学习一种新的编码语言,为最近学习的编码语言更新一个变量,从而影响开发者的收入Ios 如何从不同的tableview刷新tableview中的数据,ios,swift,uitableview,Ios,Swift,Uitableview,我正在开发一款游戏,你可以“雇佣”开发者为你工作。基本上,我有一个表视图,其中包含您可以雇佣的所有可能的员工,还有一个表视图,其中包含您雇佣的员工 问题是,我有第三个表视图,您可以在其中“学习”不同的编码语言,这反过来会改变每个开发人员可以赚取的金额 我试图做到的是,当玩家按下一个按钮学习一种新的编码语言,为最近学习的编码语言更新一个变量,从而影响开发者的收入 我已经完成了所有的工作,但是为了更新我所有的标签,当在另一个表视图中按下“学习”按钮时,我需要在Employees表视图中重新加载数据。
我已经完成了所有的工作,但是为了更新我所有的标签,当在另一个表视图中按下“学习”按钮时,我需要在Employees表视图中重新加载数据。有什么建议吗???你有什么代码给我们看吗 尝试使用NSNotificationCenter向其他视图控制器发送通知。比如说, 在从调用重载的类中添加此
NSNotificationCenter.defaultCenter().postNotificationName("reloadTableView" object: self)
在要刷新的表视图的类中,将此添加到已加载的视图中
NSNotificationCenter.defaultCenter().addObserver(
self,
selector: "refresh",
name: "reloadTableView",
object: nil)
然后在同一个类中有一个名为“刷新”的函数
你有代码给我们看吗 尝试使用NSNotificationCenter向其他视图控制器发送通知。比如说, 在从调用重载的类中添加此
NSNotificationCenter.defaultCenter().postNotificationName("reloadTableView" object: self)
在要刷新的表视图的类中,将此添加到已加载的视图中
NSNotificationCenter.defaultCenter().addObserver(
self,
selector: "refresh",
name: "reloadTableView",
object: nil)
然后在同一个类中有一个名为“刷新”的函数
我建议您继续并使用“学习”按钮触发
iAction
,然后使用tableView.reloadData()
重新加载另一个UITableView
。如果您需要在不同的ViewController中触发此操作,我将继续使用NSNotificationCenter
我建议您继续使用learn按钮触发iAction
,然后使用tableView.reloadData()
重新加载另一个UITableView
。如果您需要在不同的ViewController中触发此操作,我将继续使用NSNotificationCenter
使用
假设您有两个类,EmployeeTable
和LearnTable
。通过协议使Employee表成为Learn表的代表
- 在
类中,在顶部添加代理协议:LearnTable
protocol LearnTableDelegate { func didUpdateTable() }
类必须遵守协议并实现其指定的功能。通过对类的扩展遵守协议是一种良好的做法:EmployeeTable
extension EmployeeTable: LearnTableDelegate { func didUpdateTable() { // do whatever is necessary to update the table } }
类需要一个位置来存储对其委托的引用,这是可选的,因为引用可能未设置:LearnTable
class LearnTable { var delegate: LearnTableDelegate? }
- (这里我假设您是从EmployeeTable执行此操作的。)在创建
的实例之后,在转入之前,将对EmployeeTable的引用作为委托添加LearnTable
let learnTable = LearnTable() learnTable.delegate = self
- 使用
假设您有两个类,
EmployeeTable
和LearnTable
。通过协议使Employee表成为Learn表的代表
- 在
类中,在顶部添加代理协议:LearnTable
protocol LearnTableDelegate { func didUpdateTable() }
类必须遵守协议并实现其指定的功能。通过对类的扩展遵守协议是一种良好的做法:EmployeeTable
extension EmployeeTable: LearnTableDelegate { func didUpdateTable() { // do whatever is necessary to update the table } }
类需要一个位置来存储对其委托的引用,这是可选的,因为引用可能未设置:LearnTable
class LearnTable { var delegate: LearnTableDelegate? }
- (这里我假设您是从EmployeeTable执行此操作的。)在创建
的实例之后,在转入之前,将对EmployeeTable的引用作为委托添加LearnTable
let learnTable = LearnTable() learnTable.delegate = self