Я пытаюсь добавить это Extension
в мой код, чтобы перечислить подстроки по словам.Источник этого кода датирован 2015 годом, так что это, по-видимому, более ранняя версия Swift
.Я использую Swift4.2
и не могу понять, как правильно обновить код в строке, указанной ниже, с примечанием.
extension String {
func words() -> [String] {
let range = Range<String.Index>(start: self.startIndex, end: self.endIndex) // THIS LINE CAUSES ERROR
var words = [String]()
self.enumerateSubstringsInRange(range, options: NSStringEnumerationOptions.ByWords) { (substring, _, _, _) -> () in
words.append(substring)
}
return words
}
}
Сначала я получаю эту ошибку: Неправильные метки аргумента в вызове (имеют 'start: end:', ожидаемый '_: in:')
Я следую подсказке "Fix", и она меняет строку на эту:
let range = Range<String.Index>(self.startIndex, in: self.endIndex)
Затем я получаю эту ошибку без предложения исправления:
Невозможно преобразовать значение типа 'String.Index' в ожидаемый аргументвведите 'NSRange' (он же '_NSRange')
Возможно, ошибки связаны с обновлением версии Swift
, и я не могу найти правильный способ написания этой строки.