Необязательное выражение типа 'String', используемое при проверке опциональности - PullRequest
0 голосов
/ 14 января 2020

Я получаю это предупреждение от Xcode Swift 5, вот мой код, я не понимаю, что не так, я использую это для удаления любой новой строки или табуляции в конце моей строки (строки)

Мой код:

let url: String = String(line.filter { !" \n\t\r".contains($0) })

ОБНОВЛЕНИЕ

Я делал это внутри , если позволить и использовал оператор приведения типа здесь - это решение, остальной код и пример значения строки.

let line = " http://test.com/testing.php \n"
if let url: String = line.filter({!" \n\t\r".contains($0)}) as String?
{
       //More action here
}

Спасибо

1 Ответ

0 голосов
/ 14 января 2020

для меня эта строка выглядит хорошо, но вы можете пропустить скобки для метода строкового фильтра. Вот два способа сделать это на детской площадке. Дайте мне знать, если это работает для вас, или как я могу помочь вам в дальнейшем.

var line = "\t Hello, line removal \n \t Another new line \n"

let filteredClosure = line.filter { (char) -> Bool in
    return !"\n\t\r".contains(char)
}

let filterShorthand = line.filter({!"\n\t\r".contains($0)})

С предоставленной вами строкой я бы также ожидал, что пробелы также будут удалены. Если это то, что вы ищете, добавьте пробел внутри строки фильтра: "\ n \ t \ r"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...