Swift 4: 'подстрока (to:)' устарела

У меня возникли проблемы с преобразованием моего кода Swift 3 в Swift 4. Мне удалось перевести все остальное в приложение успешно, но у меня проблемы с одной строкой кода:

cleanURL = cleanURL.substring(to: cleanURL.index(before: cleanURL.endIndex))

Ошибка, которую я получаю, такова:

ViewController.swift:62:33: 'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range upto' operator.

Ответ 1

Хорошо, сделайте то, что говорит ошибка, используйте индекс строковой развертки с оператором "partial range upto":

let actuallyCleanURL = kindaCleanURL[..<kindaCleanURL.endIndex]

Обратите внимание, что это возвращает a Substring. Если вам нужно сделать больше операций нарезки, сделайте их на этой подстроке. После того, как вы закончите, продвиньте его до String, запустив его через инициализатор String (String(mySubString)), в результате чего будет создана копия памяти.