2015-09-24 3 views
0

У меня есть проблема для конкатенации другой строки в одной строке. Код работает, но у меня есть слово, которое вставлено между каждой из моих строк. Заранее благодарю за ответ.Удалить необязательный («строка») в Swift 2

let locality = String(self.locality) 
let postalCode = String(self.postalCode) 
let administrativeArea = String(self.administrativeArea) 
let country = String(self.country) 

let addressFull = locality + ", " + postalCode + " " + administrativeArea + ", " + country 
print(addressFull) 

Выход

Optional("..."), Optional("...") Optional("..."), Optional("...") 

ответ

1

self.locality и ваши другие свойства Необязательные строки, так что вы должны безопасно разворачивать их перед их использованием.

Пример с if let:

if let locality = String(self.locality), let postalCode = String(self.postalCode), let administrativeArea = String(self.administrativeArea), let country = String(self.country) { 
    let addressFull = locality + ", " + postalCode + " " + administrativeArea + ", " + country 
    print(addressFull) 
} 

Вы должны изучить документацию о Optionals, это очень важное понятие в Swift.

+0

Благодарим за отзыв, но это неправильно. Это моя вина, я не очень хорошо объясняю, и я не показал весь свой код. –

+0

Каков тип 'self.locality', не является ли это необязательной строкой? Что означает 'print (self.locality)' say? И 'self.postalCode', вероятно, является опциональным Int. Когда вы создаете строки со строкой (необязательно (...)), результат также является необязательным. // Если я ошибаюсь, то, пожалуйста, не принимайте мой ответ, поэтому я могу удалить его - или предоставить дополнительную информацию в своем вопросе, чтобы я мог попробовать ответить более точно. Но ответ, принятый + downvoted, очень странный. :) Спасибо. – Moritz

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