Mam NSRange i trzeba podzielić ciąg na dwa ciągi po obu stronach tego NSRange. Jak uzyskać wartość całkowitą (jak indeks) z NSRange?Jak pobrać wartość całkowitą z NSRange?
6
A
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
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.
Świetnie! Dziękuję Ci. – user1486548