The solution I have used is:
int posOfSelected = [tv offsetFromPosition:tv.beginningOfDocument
toPosition:textRange.start];
I get the character index of the first letter of the tapped word, as an offset from the beginning of the document.