Swift MapKit - 向注释添加(额外)属性?

Swift MapKit - add (extra)attribut to annotation?

我做了 this MapKit-Tutorial

一切正常,但如何为我的 pin 添加额外的属性?

这是我的class车:

import Foundation
import MapKit

class Car: NSObject, MKAnnotation {

let title: String
let subtitle: String
let thirdAttribut: String
let coordinate: CLLocationCoordinate2D

init(title: String, subtitle: String, thirdAttribut: String, coordinate: CLLocationCoordinate2D) {
    self.title = title
    self.subtitle = subtitle
    self.thirdAttribut = thirdAttribut
    self.coordinate = coordinate

    super.init()
}


var getTitle: String {
    return title
}

var getSubtitle: String {
    return subtitle
}

var getThirdAttribut: String {
    return thirdAttribut
}

我想点击图钉并使用它 "thirdAttribut"。 我的主要-Class:

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    mapView.delegate = self
    let car = Car(title: "Title", subtitle: "Subtitle", thirdAttribut: "ThirdAttribut", coordinate: CLLocationCoordinate2D(latitude: 50.906849, longitude: 7.524224) )
    mapView.addAnnotation(car)

    }


func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
  //some config stuff
}



    func mapView(mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!) {
    print("Here Comes the Click")

    print(view.annotation.title)
    print(view.annotation.subtitle)
    //view.annotation.thirdAttribut doesn't existis
    //How get I my "thirdAttribut"-Attribut?

    }

第三个属性不能出现在我的视图中。它只包含一些逻辑运算的数据。

我希望你能理解我,英语不是我的母语。

如果您知道其他方法来编写我想要的代码,请告诉我。 :)

谢谢!

注释视图包含注释 属性。要获得第三个属性,您需要将 MKAnnotation 转换为您创建的遵循 MKAnnotation 协议 Car 的 class。

if let carAnnotation = view.annotation as? Car{
    print(carAnnotation.thirdAttrib);
}