Ios Swift 3:如何确保在下一个视图控制器中显示之前设置数据
我正在使用prepare for segue在另一个视图控制器中设置字典变量。但问题是视图控制器在没有数据的情况下打开地图。如何确保仅在设置字典变量数据后才转到下一个视图控制器 这是我的密码Ios Swift 3:如何确保在下一个视图控制器中显示之前设置数据,ios,swift,google-maps,Ios,Swift,Google Maps,我正在使用prepare for segue在另一个视图控制器中设置字典变量。但问题是视图控制器在没有数据的情况下打开地图。如何确保仅在设置字典变量数据后才转到下一个视图控制器 这是我的密码 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "showMapSegue" { if let mapVC = seg
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变量之前不会转到下一个视图控制器。我能够解决此问题。Prepare for应该在调用之前设置数据,并且它是。问题是我实际上忘了删除故事板中的segue,它直接从按钮转到新的视图控制器。这就是我所做的
构建并运行。我在下一个视图控制器中成功获取了数据。希望有帮助。我解决了这个问题。Prepare for应该在调用之前设置数据,并且它是。问题是我实际上忘了删除故事板中的segue,它直接从按钮转到新的视图控制器。这就是我所做的
构建并运行。我在下一个视图控制器中成功获取了数据。希望能有所帮助。您在MapVC的ViewDiLoad和ViewWillDisplay方法中正在做什么。理想情况下,在调用prepare之前,它永远不会打开屏幕,因此其他东西会延迟您对vendorStore属性的使用yvar vendorStore=Dictionary()这是字典。。。。我只是用这个设定一张地图dictionary@MoazKhan共享目标视图控制器代码。特别是在地图加载数据的地方code@MoazKhan请检查您的segue.identifier=“showMapSegue”是否正确?并检查vendorStoreKeys.count>o。您在MapVC中的ViewDiLoad和ViewWillAspect方法中正在做什么。理想情况下,在调用prepare之前,它永远不会打开屏幕,因此其他东西会延迟您对vendorStore属性的使用yvar vendorStore=Dictionary()这是字典。。。。我只是用这个设定一张地图dictionary@MoazKhan共享目标视图控制器代码。特别是在地图加载数据的地方code@MoazKhan请检查您的segue.identifier=“showMapSegue”是否正确?并查看您的供应商商店密钥。计数>o。