Я пытаюсь добавить этот 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:')
Я следую подсказке «Исправить», и она меняет строку на эту:
let range = Range<String.Index>(self.startIndex, in: self.endIndex)
Затем я получаю эту ошибку без предложения исправить:
Невозможно преобразовать значение типа "String.Index" в ожидаемый тип аргумента "NSRange" (он же "_NSRange")
Ошибки, вероятно, связаны с обновлением версии Swift
, и я не могу понять, как правильно написать эту строку.