В Swift — это количество экземпляров String .CharacterView всегда равно расстоянию между startIndex и endIndex во всех случаях?

#swift #string #indexof

#swift #string #indexof

Вопрос:

Заголовок говорит сам за себя. В Swift — это количество экземпляров String .CharacterView всегда равно расстоянию между startIndex и endIndex во всех случаях?

Swift 2.3:

string.characters.count == string.characters.startIndex.distanceTo(string.characters.endIndex)

Swift 3:

string.characters.count == string.characters.distance(от:string.characters.startIndex до:string.characters.endIndex)

Ответ №1:

ДА. Это требование Collection . Обязательно, чтобы итерация от startIndex to endIndex точно охватывала все элементы. Количество шагов, которые нужно сделать (расстояние), должно быть эквивалентно count , иначе вы нарушите это требование.