我刚刚将XCode更新为6.3,现在我收到以下错误:
MKPointAnnotation没有名为“setCoordinate”的成员.
MKPointAnnotation没有名为“setCoordinate”的成员.
不知道它在哪里,或者如果我们应该使用一些其他的MK方法.任何帮助是赞赏.
func refreshlocation(lat:String,lon:String,withOffset:Bool = false){ // 1 Convert the string values to something that can be used. let location = CLLocationCoordinate2D( latitude: (lat as NSString).doubleValue as CLLocationDegrees,longitude: (lon as NSString).doubleValue as CLLocationDegrees ) // 2 setup some initial variables. let span = MKCoordinateSpanMake( (self.locationLatitudeDelta as NSString).doubleValue as CLLocationDegrees,(self.locationLongitudeDelta as NSString).doubleValue as CLLocationDegrees ) let region = MKCoordinateRegion(center: location,span: span) mapView.setRegion(region,animated: true) //3 decorate the point and add the point to the map. var annotation = MKPointAnnotation() annotation.setCoordinate(location) //Error on this line }
解决方法@H_502_9@
如
iOS 8.3 API Diffs in the MapKit module所述,setCoordinate方法被删除:
Removed MKAnnotation.setCoordinate(CLLocationCoordinate2D)
幸运的是,您现在必须使用更简单的赋值语法(这在之前版本的Swift中已经可以使用,并且可以在Objective-C中完成):
annotation.coordinate = location
Removed MKAnnotation.setCoordinate(CLLocationCoordinate2D)
幸运的是,您现在必须使用更简单的赋值语法(这在之前版本的Swift中已经可以使用,并且可以在Objective-C中完成):
annotation.coordinate = location