ios - 无法将类型 '[String : String?]' 的值转换为预期的参数类型 '[String : AnyObject?]'

标签 ios iphone swift mapkit

我是 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
}

请帮忙。

最佳答案

您需要将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
  }

关于ios - 无法将类型 '[String : String?]' 的值转换为预期的参数类型 '[String : AnyObject?]',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33437705/

相关文章:

ios - 由于字符串编码,无法从 NSURL 分配 UIImage

ios - 如果我使用 ARC,-didReceiveMemoryWarning 是否还有用?

ios - 对包含 NSString 对象的 NSMutableArray 进行排序

ios - 沿 MKPolyLineView 的渐变(MKPolylineRenderer)

iphone - 知道为什么这个 View 不旋转吗?

swift - 选择哪些物体径向重力场会影响 swift

ios - 在 View 出现之前预加载 AVCaptureSession (Swift)

ios - 如何使用 NSPredicate 按日期差异大于 x 天进行过滤

javascript - 使用 sencha 应用程序查看 Iphone 中的连接状态

ios - 如何以编程方式使用 swift 在 iOS 应用程序中添加选项列表?