2015-10-30 16 views
10

Ich bin neu bei Swift und habe dieses Tutorial verfolgt: http://www.raywenderlich.com/90971/introduction-mapkit-swift-tutorial über MapKit. Das Problem ist, dass ich einen Fehler in dieser Codezeile bekamKann den Wert vom Typ '[String: String?]' Nicht in den erwarteten Argumenttyp '[String: AnyObject?]' Konvertieren

Der Fehler ist im Titel beschrieben. Die Methode, die diese Zeile enthält, lautet:

func mapItem() -> MKMapItem { 
    let addressDict = [String(kABPersonAddressStreetKey): self.subtitle] 
    let placemark = MKPlacemark(coordinate: self.coordinate, addressDictionary: addressDict) 

    let mapItem = MKMapItem(placemark: placemark) 
    mapItem.name = self.title 

    return mapItem 
} 

Bitte helfen.

Antwort

14

Sie benötigen subtitle als AnyObject zu werfen, wie unten dargestellt:

let addressDict = [String(kABPersonAddressStreetKey): self.subtitle as! AnyObject] 
wird

und Ihre vollständige Code:

func mapItem() -> MKMapItem { 
    let addressDict = [String(kABPersonAddressStreetKey): self.subtitle as! AnyObject] 
    let placemark = MKPlacemark(coordinate: self.coordinate, addressDictionary: addressDict) 

    let mapItem = MKMapItem(placemark: placemark) 
    mapItem.name = self.title 

    return mapItem 
    } 
+0

Das ist es! Danke vielmals! – Adela

+0

Ich entwurzelt, weil ich nicht schnell werde. :) Ich weiß nicht, warum es sich beschwerte, als ich versuchte, das Wörterbuch zu übersetzen ... das ist es –

+0

Das half. Vielen Dank – PersianBlue

Verwandte Themen