我需要使用 NSStringFromRange 但我只有一个开始和结束 UITextPositions。如何将 UITextPosition 转换为 NSRange。
NSMutableArray * wordArray = [[NSMutableArray alloc]init];
id<UITextInputTokenizer> tokenizer = tv.tokenizer;
UITextPosition *start = tv.beginningOfDocument;
while (![start isEqual:tv.endOfDocument]) {
UITextPosition *end = [tokenizer positionFromPosition:start toBoundary:UITextGranularityWord inDirection:UITextStorageDirectionForward];
NSString *word = [tv textInRange:[tv textRangeFromPosition:start toPosition:end]];
[wordArray addObject:NSStringFromRange(<#NSRange range#>)];
start = end;
}
最佳答案
试试这个:
NSInteger startOffset = [tv offsetFromPosition:tv.beginningOfDocument toPosition:start];
NSInteger endOffset = [tv offsetFromPosition:tv.beginningOfDocument toPosition:end];
NSRange offsetRange = NSMakeRange(startOffset, endOffset - startOffset);
[wordArray addObject:NSStringFromRange(offsetRange)];
关于ios - UITextPosition 到 NSRange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11732150/