我刚刚将 ray wenderlich mapkit 教程升级到 MKPlacemark 的 xcode 7 错误。我仍然只是编码方面的新手,我不是 100% 确定从哪里开始解决这个错误。我搜索了但不知道有用。
感谢您的帮助。非常感谢。
http://www.raywenderlich.com/90971/introduction-mapkit-swift-tutorial
这是我遇到错误的代码:
// annotation callout opens this mapItem in Maps app
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
错误是:
无法使用列表类型“coordinate:CLLocationCoordinate2D, addressDictionary:[String : String?])”的参数调用类型“mkplacemark”的初始值设定项
再次感谢,
特拉维斯。
最佳答案
您需要将字幕转换为 AnyObject,如下所示:
let addressDict = [String(kABPersonAddressStreetKey): self.subtitle as!任何对象]
“func mapItem() -> MKMapItem { }”的完整代码将是:
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 - 将 ray wenderlich mapkit 教程升级到 xcode 7 错误 mkplacemark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32662148/