从 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 的属性?