NSRange
Foundation - NSRange
初始化
NSRange range1 = NSMakeRange(2, 3);
NSRange range2 = {3, 4};
NSString *str = @"0123456789";
NSString *s1 = [str substringWithRange:range1];
NSString *s2 = [str substringWithRange:range2];
操作
// 最大位置
NSUInteger maxLocation = NSMaxRange(range1);
// 位置是否在内部
BOOL inRange = NSLocationInRange(3, range1);
// 相等
BOOL eq = NSEqualRanges(range1, range2);
// 并集
NSRange unionRange = NSUnionRange(range1, range2);
// 交集
NSRange intersectionRange = NSIntersectionRange(range1, range2);
类型转换
// 范围 <-> 字符
NSString *strFromRange = NSStringFromRange(range1);
NSRange range3 = NSRangeFromString(@"{2, 3}");
// 范围 <-> value
NSValue *value = [NSValue valueWithRange:NSMakeRange(2, 3)];
NSRange range4 = value.rangeValue;