Это методы делегата, объявленные протоколом MGLMapViewDelegate
, который реализован в вашем классе
class ViewController: UIViewController, MGLMapViewDelegate { ... }
Установив delegate
какого-либо объекта в качестве контроллера (= self
), как вы сделали с MGLMapView
в viewDidLoad
mapView.delegate = self
вы говорите, что когда какой-то метод вызывается для делегата mapView
, будет вызываться метод, который вы реализовали, например mapView(_:viewFor:) -> MGLAnnotationView?
.
В любом случае, ваш mapView
должен быть переменной экземпляра, в противном случае вы потеряли ссылку на него
class ViewController: UIViewController, MGLMapViewDelegate {
var mapView: MGLMapView!
override func viewDidLoad() {
super.viewDidLoad()
mapView = MGLMapView(frame: view.bounds)
...
}
}