gpt4 book ai didi

swift - 如何将 segue 上的 map 注释传递给另一个 vc 上的 mapView?

转载 作者:行者123 更新时间:2023-11-28 08:09:13 24 4
gpt4 key购买 nike

我目前有一个带注释的 map ,想将其传递给另一个 VC 上的另一个 map (复制 map )。我如何在准备 Segue 功能时执行此操作?

在我现在的 map VC中

    if segue.identifier == "addEntrySegue",
let addEntryVC = segue.destination as? AddEntryViewController
{
addEntryVC.mapView.addAnnotation(annotation)
let span = MKCoordinateSpanMake(0.05,0.05)
let region = MKCoordinateRegionMake(annotation.coordinate, span)
addEntryVC.mapView.setRegion(region, animated: true)

}

最佳答案

prepare(for:sender:) 传递数据的基本思路是正确的。

显然,您需要确保标识符和 View Controller 的强制转换成功,也许可以在 if 语句中添加一个断点。我本以为,如果这个 if 语句成功,那么此时你尝试与 mapView 交互时就会崩溃,所以我想知道这个 if 语句完全成功。如果不成功,您需要仔细检查 (a) 您为 IB 中的转场指定的 Storyboard标识符的拼写和大写; (b) 目标场景的基类实际上是 AddEntryViewController

但是,即使您确认 if 语句正常工作,您也不能只更新 prepare(for: sender:),因为它们还没有被创建。因此,您不能在 prepare(for:sender:) 中引用 map View 。

您的 AddEntryViewController 中应该有一个注释属性,prepare 应该简单地设置它。然后,在 AddEntryViewControllerviewDidLoad 中,此时已创建 View ,将该注释添加到 map View 并设置区域/相机.

关于swift - 如何将 segue 上的 map 注释传递给另一个 vc 上的 mapView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44139763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com