2016-07-08 3 views
3

La toute nouvelle version Xcode, en plus de supprimer un grand nombre d'endroit où ajouter un appel de fonction vide, introduit un problème amusant avec un simple morceau de code dessinant un chemin géodésique:Nouveau Xcode bêta nouveaux problèmes: MKGeodesicPolyline

func drawPolyline(from startLocation: CLLocation, endLocation:CLLocation) { 
    let point1 = startLocation.coordinate 
    let point2 = endLocation.coordinate 
    var points: [CLLocationCoordinate2D] 
    points = [point1, point2] 
    var coordinates=points[0] 
    let geodesic = MKGeodesicPolyline(coordinates: &coordinates, count:2) 
    self.mapView.add(geodesic) 
} 

Les plaintes du compilateur sur un:

usage ambigü 'init (coordonnées: count :)'

Lorsque je tente de cliquer sur o Dans les options données, je suis toujours conduit à cette ligne. J'ai essayé de nettoyer le projet en vain.

+0

Pouvez-vous essayer de définir 'coordinates' comme' UnsafeMutablePointer '? – Putz1103

Répondre

3

Dans ce cas MKGeodesicPolyline utiliseraient soit UnsafePointer ou UnsafeMutablePointer en utilisant le type CLLocationCoordinate2D que vous avez défini comme points, vous auriez probablement envie:

let geodesic = MKGeodesicPolyline(coordinates: points, count: 2) 

Apple Developer : CLLocation

+1

En fait, la nouvelle version bêta n'accepte apparemment pas l'abonnement: en utilisant let geodesic = MKGeodesicPolyline (coordonnées: points, nombre: 2), elle compile sans problème, même si l'erreur retournée pour une telle syntaxe était beaucoup moins claire . Je pense que tous les exemples sur le web doivent être corrigés. Merci beaucoup. –

0

let = MKGeodesicPolyline géodésique (coordonnées : & coordonnées, comptage: 2)

  • re déplacez le symbole "&" devant les coordonnées. Cela a résolu le problème.