Если оператор let с CLPlacemark

Я пытаюсь сделать оператор if let со следующим:

if let p = CLPlacemark(placemark: placemarks?[0]) {

В настоящее время он говорит мне: «Значение необязательного типа« CLPlacemark? не развернуто" и поручив мне поставить

(placemark: (placemarks?[0])!) {

Однако, если я это сделаю, он затем скажет мне: «Инициализатор для условной привязки должен иметь необязательный тип, а не« CLPlacemark »».

Честно говоря, я понятия не имею, как это исправить, и мне может понадобиться любая помощь. заранее спасибо


person Fumbles    schedule 20.11.2015    source источник
comment
Если у вас уже есть набор меток, зачем вообще создавать новую метку? Просто скажите if let p = placemarks?[0].   -  person matt    schedule 20.11.2015


Ответы (1)


Попробуй это

if let validPlacemark = placemarks?[0]{
     let placemark = validPlacemark as? CLPlacemark;
}

Вам нужно? потому что метки не обязательно имеют значение

person Rashwan L    schedule 21.11.2015