Подстрока с использованием Range - PullRequest
0 голосов
/ 03 ноября 2018
// Substring
func substring(_ start: Int, end: Int) -> String {
    return self.substring(with: Range(self.characters.index(self.startIndex, offsetBy: start) ..< self.characters.index(self.startIndex, offsetBy: end)))
}

Получение нижеуказанной ошибки в этом операторе возврата после обновления XCode до 10.0. Дайте мне знать, как я могу показать оператор возврата в соответствии с последней версией swift.

Невозможно вызвать инициализатор для типа 'Range <_>' со списком аргументов тип '(Диапазон)'

1 Ответ

0 голосов
/ 03 ноября 2018

С Xcode 10 вы можете выбирать между версиями Swift 3, Swift 4 и Swift 4.2. Я предполагаю, что вы имеете в виду Swift 4.2, когда говорите о последней версии Swift. Помните, что функция substring(with:) устарела после Swift 4, поэтому вы можете использовать нарезку строк:

extension String {
    func substring(_ start: Int, end: Int) -> String {
        let startIndex = self.index(self.startIndex, offsetBy: start)
        let endIndex = self.index(self.startIndex, offsetBy: end)
        return String(self[startIndex...endIndex])
    }
}
...