2015-10-30 20 views
10

私はSwiftで新しく、このチュートリアルに従います:http://www.raywenderlich.com/90971/introduction-mapkit-swift-tutorial MapKitについて。問題は、このコード行でエラーが発生したことです。'[String:String?]'の型の値を '[String:AnyObject?]'に変換できません。

let placemark = MKPlacemark(coordinate: self.coordinate, addressDictionary: addressDict) 

エラーはタイトルに記述されています。この行を含む方法は:

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 
} 

助けてください。

答えて

14

あなたは、以下に示すようにAnyObjectとしてあなたsubtitleをキャストする必要があります。

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

し、あなたの完全なコードは次のようになります。それだ

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

!どうもありがとう! – Adela

+0

私は素早く手に入れられないので、私は激しく激突しました。 :)なぜ私は辞書をキャストしようとしたときにそれが不平を言うのかわからない...これはそれです –

+0

それは助けた。ありがとうございます – PersianBlue

関連する問題