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);
}
我做了 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);
}