Ho un NSRange e ho bisogno di rompere una stringa in due sottostringhe su entrambi i lati di questo NSRange. Come posso ottenere un valore intero (come l'indice) da un NSRange?Come estrarre un valore intero da NSRange?
6
A
risposta
4
NSRange
struct è costituito da due numeri interi: location
e length
.
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
Sembra location
e location+length
sono le due espressioni che si sta cercando - gli intervalli per la sinistra e la stringa a destra sono i seguenti:
NSRange prefixRange = NSMakeRange(0, myRange.location);
NSUInteger pos =myRange.location+myRange.length;
NSRange suffixRange = NSMakeRange(pos, myString.length - pos);
0
So che questa domanda è vecchio, ma in Swift 4 (e forse anche prima) ci sono nuovi upperBound
e lowerBound
proprietà di convenienza sul NSRange
:
print(myRange) // Range: {13, 4}
range.lowerBound // 13
range.upperBound // 17
Speriamo che questo aiuti qualcun altro.
Ottimo! Grazie. – user1486548