Итак, если строка не является NilLiteralConvertible ... что возвращают некоторые строковые функции?
Давайте предположим следующий код:
let url = "http://%20abc"
let urlString = url.stringByRemovingPercentEncoding!
if urlString != nil {
println("done")
}
stringByRemovingPercentEncoding
должен вернуть необязательную строку. Итак, давайте развернем это. Что происходит, когда он на самом деле «терпит неудачу» и не возвращает строку?
String не является NilLiteralConvertible, поэтому в следующей строке есть ошибка компилятора. Я действительно смущен здесь - так что я должен сравнитьurlString
с, если я предполагаю, чтоurl.stringByRemovingPercentEncoding
развёртывание необязательно? Очевидно, это не работает с нуля.
Обратите внимание, что я могу оставить urlString в качестве необязательного значения, а затем развернуть его и т. Д. Дело не в этом. Дело именно в этом. Большое спасибо!