Невозможно преобразовать значение типа '[String: String?]' В ожидаемый тип аргумента '[String: AnyObject?]'
Я новичок в Swift, и я последовал этому руководству: http://www.raywenderlich.com/90971/introduction-mapkit-swift-tutorial о MapKit. Проблема в том, что я получил ошибку в этой строке кода
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
}
Пожалуйста, помогите.
Ответы
Ответ 1
Вам нужно указать subtitle
как AnyObject
, как показано ниже:
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
}