从 UITableViewController 添加标记到 UIViewController

Posted

技术标签:

【中文标题】从 UITableViewController 添加标记到 UIViewController【英文标题】:Add markers from UITableViewController to UIViewController 【发布时间】:2017-01-31 15:20:26 【问题描述】:

我有一个UIViewController,在我故事板的这个里面我有一个UITableViewController 和一个GMSMapView

嗯,我有一个服务来填充我的UITableViewController,其中包含一些信息和地理参考。 UITableViewController 行为完美无缺,但是当我尝试访问我的 UIViewController 时,不会添加标记。

class RequestViewController: UIViewController 

    @IBOutlet weak var mapView: GMSMapView!
    var solicitudes = [SolicitudesModel]()

    override func viewDidLoad() 

        super.viewDidLoad()

        let camera = GMSCameraPosition.camera(withLatitude: 83.4824182, longitude: -88.1776567, zoom: 15)
        self.mapView.camera = camera

        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2DMake(13.4824182, -88.1776567)
        marker.title = "My location"

        marker.map = self.mapView
    


添加了作为该点的标记。

class RequestTableViewController: UITableViewController 

    var reqs = [RequestModel]()

    @IBOutlet var RequestTable: UITableView!

    override func viewDidLoad() 

        var requestVC = RequestViewController()

        Alamofire.request(UrlGlobals.retriveInformation()).responseJSON  response in
            let json = JSON(response.result.value)
            var i: Int = 0

            self.reqs.removeAll()
            for _ in json.array ?? []  
                //Some code to populate the table

                let marker = GMSMarker()
                marker.position = CLLocationCoordinate2DMake(CLLocationDegrees(json["lat"].float!), CLLocationDegrees(json["lng"].float!))
                marker.title = "Some title"

                marker.map = requestVC.mapView

            
            self.RequestTable.reloadData()

        
    

json 正确检索所有信息。如何访问我的主 ViewController 并添加这些 google 标记?

【问题讨论】:

我不明白:ViewController 之间的工作流程是什么?您是从 RequestTableViewController 开始,然后想要显示 RequestViewController,还是反过来,您从 RVC 开始,打开 RTVC 并将结果传播回(主)RVC? 【参考方案1】:

现在您的 RequestViewController 是一个仅存在于 viewDidLoad 中的实例。使其成为类属性,您将能够在任何地方访问它。

【讨论】:

以上是关于从 UITableViewController 添加标记到 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章

从 UITableViewController 重新加载 tableView

从 UITableViewController 加载通用视图

从 firebase 获取数据到 UITableViewController - swift

如何从 UiTableViewController 访问自定义 UITableViewCell 的属性?

Xcode:将信息从 UITableViewController 传递到 UIViewController

从 UITableViewController 中的按钮创建操作