Ошибка Отсутствует аргумент для параметра «координата» при вызове

У меня есть пользовательская MkAnnotation с заголовком, подзаголовком и дополнительной информацией, связанной с ней для использования в представлении карты. Я передаю эту информацию другому UIViewController. Однако, похоже, есть некоторая проблема с моей координатой, которую я выделил для булавки. Ошибка выделена в информации о настройке вывода ниже в строке кода «var bridge17pin = MyAnnotation()».

   override func viewDidLoad() {
    super.viewDidLoad()

    //for users location
    myLocMgr.desiredAccuracy = kCLLocationAccuracyBest
    myLocMgr.requestWhenInUseAuthorization()
    myLocMgr.startUpdatingLocation()
    myLocMgr.delegate = self
    mapView.delegate = self



 //coordinate for pin
 var bridge17 = CLLocationCoordinate2DMake(53.346061, -6.227379)


       //custom MKAnnotation
       class MyAnnotation: NSObject, MKAnnotation {
        @objc var coordinate: CLLocationCoordinate2D
        var EXTRA_INFORMATION: String?
        var title: String?

        init(coordinate: CLLocationCoordinate2D) {
           self.coordinate = coordinate
        }
    }



    //setting information of pin
    var bridge17pin = MyAnnotation()
    bridge17pin.coordinate = bridge17
    bridge17pin.title = "The bridge"
    bridge17pin.subtitle = "hello this is the bridge"
    bridge17pin.EXTRA_INFORMATION = "this was built in 2010"
    mapView.addAnnotation(bridge17pin)
      }

person Community    schedule 03.08.2016    source источник


Ответы (1)


Потому что вы должны отправить координату во время создания экземпляра. Итак, в коде замените

var bridge17pin = MyAnnotation()

с

var bridge17pin = MyAnnotation(coordinate: bridge17)

И для этого подзаголовка см. эту ссылку

person Naveen Kumar H S    schedule 03.08.2016