2017-01-31 4 views
0

У меня есть UIViewController, внутри этого в моей раскадровке у меня есть UITableViewController и GMSMapView.Добавить маркеры из UITableViewController в UIViewController

Ну, у меня есть служба для заполнения моего 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?

+1

Я не понимаю: каков рабочий процесс между ViewControllers? Вы начинаете с RequestTableViewController, а затем хотите отобразить RequestViewController, или это наоборот, и вы начинаете с RVC, открываете RTVC и хотите передать результат обратно (первичному) RVC? –

ответ

0

Прямо сейчас ваш RequestViewController является экземпляром, который существует только в viewDidLoad. Сделайте это свойством класса, и вы сможете получить к нему доступ в любом месте.

Смежные вопросы