Почему эту работу (пример 1):Дополнительная цепочка в один шаг?
if let numString:String = Model.selectedLocation?.zip{
let callString:String = String(format:"tel:%@",numString)
//more code here
}
Но не это (пример 2):
if let numString:String = String(format:"tel:%@",Model.selectedLocation?.zip){
//more code here
}
Во втором примере, Xcode выдает ошибку и хочет zip
быть развернута как: String(format:"tel:%@",(Model.selectedLocation?.zip)!)
, но если я сделаю это, приложение выйдет из строя, когда zip
- это нуль.
ВОПРОС: Есть ли способ сделать второй пример выше работы или это невозможно/правильно?
Не используйте 'String (format:)' в этом случае. См. Мой ответ. – Alexander