尝试在视图控制器之间传递数组。我不确定为什么非常确定数组中有一些东西,当它到达另一侧时它似乎是空的。没有错误......只是空的。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "segueMapSelection" {
if let destinaton = segue.destination as? MapTableChoiceViewController {
//destinaton.maps = sender as? [SkiMap]
print("size of array before passing it through: ", maps.count)
destinaton.maps = self.maps
}
}
}
@IBAction func SelectDifferentMapButton(_ sender: Any, forEvent event: UIEvent) {
performSegue(withIdentifier: "segueMapSelection", sender: self.maps)
}
在我收到的ViewController上,我有一个
var maps : [ObjectTypeHere]! = []
知道我在这做什么吗?我把代码留下了我试过的另一种方式。当我尝试它时出错了。
感谢您的帮助。
答案 0 :(得分:1)
该问题与视图控制器生命周期中的事物序列有关。
prepare(for segue:)
,将self.maps传递到目标VC 因此,如果将数组声明为:
var maps:[ObjectTypeHere]!
您应该已成功传递数组 - 当然,假设self.maps
和designation.maps
之间的对象类型相同。
有关事件序列的完整定义,here's详细说明。