Swift 3:如何在下一个视图控制器

时间:2017-08-02 10:56:13

标签: ios swift google-maps

我正在使用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 变量之前不要进入下一个视图控制器正确设置。

1 个答案:

答案 0 :(得分:0)

我能够解决这个问题。准备应该在调用之前设置数据,它是。问题是我实际上忘了删除故事板中的segue,它直接从按钮移动到新的视图控制器。所以这就是我做的事情

  
      
  1. 删除了直接从集合视图单元格按钮转到下一个故事板的segue
  2.   
  3. 从视图控制器的顶部创建一个新的segue到下一个视图控制器
  4.   
  5. 命名为segue" showMapSegue"
  6.   

构建并运行。我在下一个视图控制器中成功获取了数据。希望它有所帮助。