2012-08-27 13 views

Odpowiedz

4

NSRange struct składa się z dwóch liczb całkowitych - location i length.

typedef struct _NSRange { 
    NSUInteger location; 
    NSUInteger length; 
} NSRange; 

Wygląda location i location+length są dwa wyrażenia, które szukasz - zakresy dla lewego i prawego podciągu są następujące:

NSRange prefixRange = NSMakeRange(0, myRange.location); 
NSUInteger pos =myRange.location+myRange.length; 
NSRange suffixRange = NSMakeRange(pos, myString.length - pos); 
+0

Świetnie! Dziękuję Ci. – user1486548

0

Wiem, że to pytanie jest stary, ale w Swift 4 (a może wcześniej) są nowe upperBound i lowerBound właściwości wygoda na NSRange:

print(myRange) // Range: {13, 4}  
range.lowerBound // 13 
range.upperBound // 17 

Mam nadzieję, że pomaga komuś innemu.

Powiązane problemy