我正在开发一个巴士票预订应用程序。我正在尝试按照下图显示我的 label 上的文本。
因此,当用户填写所需数据(出发城市、目的地城市和旅程日期)并点击“提交”按钮时,下一个
UIViewController
将显示该特定日期的过滤器巴士路线。
但是每次label都显示0计数。以下是我的标签文本代码。
标签代码:
func setValues() {
let count2 = routes.count
DispatchQueue.main.async { [unowned self] in
self.lblRoute.text = (String(count2) + "Trip(s) Available on" + Utill.getStringFromDate(" dd MMMM yyyy,EEEE", date: self.currentDate))
}
}
我在
viewDidLoad()
中调用这个函数。我为我的 numberOfRowsInSection
tableView 方法使用相同的数组 Count。这是代码表方法代码。
TableView方法:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return routes.count
}
但现在显示 0,我得到了
numberOfRow
的正确计数(4),如图所示。
那么为什么它显示相同数组的不同计数呢?有这样的并发问题吗?
实际上可变数组的计数取决于时间,我的意思是它像下面这样变异
var routes = [0,1,2]
print(routes.count) // 3
arr = []
print(routes.count) // 0
击球方法是:
var routes:[Trip] = [] {
didSet {
setValues() // update ui
}
}