Пришло время признать поражение...
В Objective-C я мог бы использовать что-то вроде:
NSString* str = @"abcdefghi";
[str rangeOfString:@"c"].location; // 2
В Swift я вижу нечто подобное:
var str = "abcdefghi"
str.rangeOfString("c").startIndex
... но это просто дает мне String.Index
, который я могу использовать для индексации обратно в исходную строку, но не извлекать местоположение из.
FWIW, что String.Index
имеет частный ivar, называемый _position
, который имеет в нем правильное значение. Я просто не вижу, как это обнажилось.
Я знаю, что могу легко добавить это в String. Мне больше любопытно, что мне не хватает в этом новом API.