Swift 5 или более поздняя версия
Вы можете разделить String
, используя новое свойство Character
isNewline
:
let sentence = "Line 1\nLine 2\nLine 3\n"
var lines = sentence.split { [110].isNewline }
print(lines) // "[Line 1, Line 2, Line 3]"
Оригинальный ответ
Вы можете использовать метод String enumerateLines :
Перечисляет все строки в строке.
Swift 3 или новее
let sentence = "Line 1\nLine 2\nLine 3\n"
var lines: [String] = []
sentence.enumerateLines { line, _ in
lines.append(line)
}
print(lines) // "[Line 1, Line 2, Line 3]"
extension String {
var lines: [String] {
var result: [String] = []
enumerateLines { line, _ in result.append(line) }
return result
}
}
Использование:
let sentence2 = "Line 4\nLine 5\nLine 6\n"
let sentence2Lines = sentence2.lines
print(sentence2Lines) // ["Line 4", "Line 5", "Line 6"]
let sentence3 = "Line 7\r\nLine 8\r\nLine 9\r\n"
let sentence3Lines = sentence3.lines
print(sentence3Lines) // "[Line 7, Line 8, Line 9]"
Используйте svcutil.exe, чтобы создать прокси WCF для вызова службы. Подробности здесь .
Щелкните проект правой кнопкой мыши и выберите «Добавить ссылку на службу». Укажите на WSDL. Щелкните "ОК". На этом должно быть все.
wsdl.exe - это старый способ веб-службы (1.1) для создания прокси. Первое, что нужно попробовать, это «Добавить ссылку на службу», как уже упоминалось. Это использует svcutil.exe для создания прокси. Если вам нужен больший контроль над созданием прокси, вы можете использовать svcutil.exe из командной строки с различными переключателями.
С учетом сказанного ... У меня были проблемы со старыми wsdls веб-служб. В частности, старый веб-сервис Apache AXIS, содержащий перегруженные операции. Пожалуйста, прочтите мой пост здесь для получения полной информации. (Моя проблема все еще не решена. Надеюсь, вы не столкнетесь с теми же проблемами, но если вы это сделаете и разберетесь, ответьте на мой вопрос. :)