代码之家  ›  专栏  ›  技术社区  ›  Steven Fisher

如何将NSRange存储在NSMutableArray或其他容器中?

  •  56
  • Steven Fisher  · 技术社区  · 15 年前

    我想做的是:

    NSRange r = NSMakeRange(0,5);
    id a = [NSMutableArray a];
    [a addObject: r]; // but NSRange is not a NSObject *
    

    对于布尔值,我会使用如下代码:

    [a addObject: [NSNumber numberWithBool: YES]];
    

    或整数:

    [a addObject: [NSNumber numberWithInteger: 3]];
    

    那么什么是等同于 NSRange NSObject 为了实现这一点。苹果已经提供了什么,肯定有办法吗?

    4 回复  |  直到 15 年前
        1
  •  137
  •   kennytm    9 年前

    Use NSValue's +valueWithRange: . 要检索范围结构,请使用 property rangeValue .

    [a addObject:[NSValue valueWithRange:r]];
    ...
    
    NSRange r = a[4].rangeValue;
    
        2
  •  12
  •   mipadi    15 年前
    [NSValue valueWithRange:r];
    

    NSRange r = [rangeObject rangeValue];
    
        3
  •  5
  •   James Huddleston    15 年前

    如果你需要储存 NSRange 恩朗格 NSString 使用 NSStringFromRange 功能。然后,可以使用 NSRangeFromString

        4
  •  4
  •   Mike Abdullah    15 年前

    另一个选择可能是将这些范围添加到 NSIndexSet

    推荐文章