Swift 5: индекс персонажа в строке - PullRequest
2 голосов
/ 27 марта 2019

До Swift 5 у меня работало это расширение:

  fileprivate extension String {
        func indexOf(char: Character) -> Int? {
            return firstIndex(of: char)?.encodedOffset
        }
    }

Теперь я получаю устаревшее сообщение:

'encodedOffset' is deprecated: encodedOffset has been deprecated as most common usage is incorrect. Use `utf16Offset(in:)` to achieve the same behavior.

Есть ли более простое решение вместо использования utf16Offset(in:)?

Мне просто нужен индекс позиции символа, переданный обратно как Int.

1 Ответ

5 голосов
/ 27 марта 2019

А что не так с utf16Offset(in:)?Это способ пойти с Swift 5

fileprivate extension String {
    func indexOf(char: Character) -> Int? {
        return firstIndex(of: char)?.utf16Offset(in: self)
    }
}
...