我有4个全局变量(String数组),我将它附加在一个视图控制器中(比如firstViewController)。当我尝试在另一个视图控制器中访问它们时附加值后,传递的是nil值
First ViewController
print("\(json)")
if let stockInfo = json?[0] {
if let value = stockInfo["l"] as? String {
print("Teja\(value)")
stockCurrentValue.append(value)
print("Teja\(stockCurrentValue)")
}
if let cp = stockInfo["cp"] as? String{
print("Teja\(cp)")
stockCp.append(cp)
print("Tea\(stockCp)")
}
if let c = stockInfo["c"] as? String{
print("Teja\(c)")
stockC.append(c)
}
if let pcls_fix = stockInfo["pcls_fix"] as? String{
print("Teja\(pcls_fix)")
stockPrevValue.append(pcls_fix)
}
}
变量stockCurrentValue,stockC,stockCP,stockPrevValue是我声明的四个全局变量。
但是当我尝试在新的viewController中访问它们时
SecondViewController
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
print(selectedStockNames.count)
return selectedStockNames.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "myStocks") as! StockCell
cell.stockNameCell.text = selectedStockNames[indexPath.row]
print("Teja123\(stockCurrentValue)")
stockValueFromGF = selectedStockValues[indexPath.row]
print("Teja123\(stockCp)")
return cell
}
因此,当我在firstViewContoller中打印StockCp值时,我得到了值,但是当我尝试在seconViewController中打印相同的变量时,我得到" []" (零值)
答案 0 :(得分:0)
使用协议并在视图控制器中从您要设置值的位置进行定义。
使用函数内部全局变量值变化的方法。
调用该函数并在视图控制器中设置要访问变量的委托。