Я обновился до xcode 7 beta 6, так как скоро появится iOS 9. Я был очень рад, что мой код конвертирован без лишних хлопот, за исключением одного исключения.Изменения в адресной книжкеDictionary в xcode 7 Beta 6
похоже, что placemark.addressDictionary
было изменено на [NSObject: AnyObject]
?
Это был мой код в Xcode 6 для поиска по карте
for item in response.mapItems as! [MKMapItem] {
var placeMarkAddress = item.placemark.addressDictionary
let street:String = placeMarkAddress["Street"] != nil ? placeMarkAddress["Street"] as! String : ""
}
Это уже не работает как placeMarkAddress
теперь [NSObject: AnyObject]
?
Как получить значение (AnyObject
) по ссылке NSObject
по названию?
Я попытался это в xcode7
for item in response!.mapItems {
var placeMarkAddress = item.placemark.addressDictionary
for placeMarkAddress in placeMarkAddresses!{
print(placeMarkAddress)
}
}
выход я получаю это.
(FormattedAddressLines, [440 Castro St, San Francisco, CA 94114-2020, United States])
(Street, 440 Castro St)
(SubAdministrativeArea, San Francisco)
(Thoroughfare, Castro St)
(ZIP, 94114)
(Name, 440 Castro)
(City, San Francisco)
(PostCodeExtension, 2020)
(Country, United States)
(State, CA)
(SubLocality, Castro)
(SubThoroughfare, 440)
(CountryCode, US)
Возможно, это очевидно для некоторых из вас, но я все еще немного новичок для разработки iOS.
Благодарим за это. Я понимаю концепцию развертывания, но временами она несколько абстрагируется и время от времени ловит меня. Я думал, что попробовал это, но, очевидно, я этого не сделал. –
В дизайне Swift много мудрости, но обработка опций требует практики. – vacawama
У меня есть этот код: if let address = placeMark.addressDictionary? ["FormattedAddressLines"] [0]? в виде? Строка , и я получаю ту же ошибку. –