2016-03-24 3 views
2

Это работало до тех пор, пока я не обновился до xcode 7.3 несколько дней назад. Он компилируется и работает до тех пор, пока мне не понадобится архивировать проект. Во время архива я получаю ошибку «Неоднозначное использование подстроки» на втором вопросительном знаке?Неоднозначное использование подстроки - происходит только во время архива

if let address = placemark.addressDictionary?["FormattedAddressLines"]?[1] 
{ 
//do something 
} 

Любая идея о том, как исправить это?

ответ

1

Ambiguous Use of Subscript означает, что компилятор не смог определить, какой индекс вы хотите использовать. Похоже, что тип placemark.addressDictionary?["FormattedAddressLines"] возвращается неясно компилятору.

Попробуйте разбить его, как:

let addressLines = placemark.addressDictionary?["FormattedAddressLines"] as? [String] 

if let address = addressLines?[1] 
{ 
//do something 
} 

Я не пробовал, так что я не 100% на синтаксисе. Но это заставит тип быть строковым массивом, который (я думаю) - это то, что вы ожидаете получить.

+0

спасибо за пример и объяснение, оно сработало !!! – swiftTonio

Смежные вопросы