我昨晚升級到了Swift 1.2,並且發現了一個我實際弄不懂的bug。下面的代碼在以前版本的Xcode和Swift中運行良好。MKAnnotation子類問題
//MARK: Annotation Object
class PointAnnotation : NSObject, MKAnnotation {
var coordinate: CLLocationCoordinate2D
var title: String
var subtitle: String
var point: Point
var image: UIImage
var md: String
init(point: Point) {
self.coordinate = point.coordinate
self.title = point.title
self.subtitle = point.teaser
self.image = UIImage(named: "annotation.png")!
self.point = point
self.md = point.content
}
}
在第3行,我得到的有些難以理解的錯誤 Objective-C method 'setCoordinate:' provided by the setter for 'coordinate' conflicts with the optional requirement method 'setCoordinate' in protocol 'MKAnnotation'
我試圖改變變量名稱等,但沒有幫助。有沒有人有任何想法如何解決這個問題?
該類用於我的mapview上的註釋。
好的。我該如何解決它?如果我更改變量,它會抱怨我不符合協議。 – 2015-02-10 10:00:23
如何將座標定義爲'var coordinate:CLLocationCoordinate2D {get}'。對不起,我還沒有升級自己。 – Onato 2015-02-10 10:15:28