我正在使用prepare for segue在另一个视图控制器中设置字典变量。但问题是视图控制器打开没有数据的地图。如何设置字典变量数据后,如何确保转到下一个视图控制器。
这是我的代码
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "showMapSegue"
{
if let mapVC = segue.destination as? MapVC
{
if vendorStoreKeys.count != 0{
mapVC.vendorStore = vendorStoreKeys
}
}
}
}
但是当控制器可见时,下一个视图控制器中的供应商存储阵列仍为空。它会在一段时间后设置数据,但此时我无法重新加载该视图控制器,因此我需要确保在 mapVC.vendorStore 变量之前不要进入下一个视图控制器正确设置。
答案 0 :(得分:0)
我能够解决这个问题。准备应该在调用之前设置数据,它是。问题是我实际上忘了删除故事板中的segue,它直接从按钮移动到新的视图控制器。所以这就是我做的事情
- 删除了直接从集合视图单元格按钮转到下一个故事板的segue
- 从视图控制器的顶部创建一个新的segue到下一个视图控制器
- 命名为segue" showMapSegue"
醇>
构建并运行。我在下一个视图控制器中成功获取了数据。希望它有所帮助。