【发布时间】:2020-02-07 16:53:09
【问题描述】:
第二个 ViewController 中的变量 cards 应该在 buttonClick 上的第一个 VC 中更新。
我用打印数据测试了第一个 VC 的发送数据,效果很好。
代码如下:
@IBAction func btnTapped(_ sender: Any) {
let mainStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let secondVC = (mainStoryboard.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController)
for card in setsOfCardsByLevel {
cardVC.cards.append(card)
}
print("Number of cards to send - \(cardVC.secondVC.count)") //PRINTS RIGHT NUMBER
presentVC("SecondViewController") //WORKS FINE
}
也许你不需要下面这个方法,但我会把它放在以防万一:
func presentVC(_ VC_Name: String) {
guard let myVC = self.storyboard?.instantiateViewController(withIdentifier: VC_Name) else { return }
let navController = UINavigationController(rootViewController: myVC)
navController.modalPresentationStyle = .fullScreen
self.navigationController?.present(navController, animated: true, completion: nil)
}
问题:当我在 secondViewController 中打印 cards 时,它们是空的(count = 0)。如何?
编辑: 在等待 StackOverflow 上的答案时,我将 presentViewController 更改为 pushViewController 并在 secondVC 中打印显示正确的数字。我很困惑。
【问题讨论】:
标签: ios arrays swift uiviewcontroller viewcontroller