从UITableViewController添加标记到UIViewController

时间:2017-01-31 15:20:27

标签: ios swift uitableview uiviewcontroller

我有一个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并添加这些谷歌标记?

1 个答案:

答案 0 :(得分:0)

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