我在视图2上的tableView有一个客户端列表。在视图1上,我只想在显示总客户端数量的标签上以int形式显示客户端数量。
我认为这与numberOfRowsInSection
有关。
但是我尝试在两个视图控制器之间委托所有不同的方式,似乎没有任何工作。当新客户端添加到视图2的列表中时,我无法获取视图1上的标签以增加+1。
我已经好几天了,我无法弄清楚我所做的假设是一项简单的任务。
顺便说一句,我在Swift很新。
在视图2上我用过:
protocol ClientTrackingViewControllerDelegate: class {
func incrementClients()
}
然后我添加了我的:var delegate: ClientTrackingViewControllerDelegate?
在视图1上我使用了
类行中的 ClientTrackingViewControllerDelegate
。
我定义了上面提到的func
:
func incrementClients() {
var counter: Int = 0
counter = TotalClientsLabel.text
if counter == 0 {
counter ++
}
}
答案 0 :(得分:0)
试试这个,
1)AppDelegate.swift中的Init变量
var data:Int!=0
2)在两个viewcontroller中创建一个AppDelegate实例
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
3)在appDelegate变量上按init值传递数据。
例如:
self.appDelegate.data=1
Viewcontroller1:
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
override func viewWillAppear(animated: Bool) {
your_labelName.text="\(self.appDelegate.data)" // to show label data
}
Viewcontroller2:
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
var count:Int=0
func incAction()
{
count++
self.appDelegate.data=count // pass increment value to first view
}