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;