NSIndexSet

NSIndexSet

NSIndexSet 用来存储下标或者NSRange,具有两个版本 ,NSIndexSet 和 NSMutableIndexSet.

  1. // 定义一个数组
  2. NSArray *arr = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4", nil] ;
  3. // 迭代获取符合条件的下标,返回一个下标集合
  4. NSIndexSet *indexSet = [arr indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
  5. if ([obj integerValue] == 3){
  6. // 停止迭代循环
  7. *stop = YES ;
  8. }
  9. if ([obj integerValue] < 3)
  10. {
  11. return YES;
  12. }else
  13. return NO;
  14. }] ;
  15. // 输出 0 , 1,2 这些符合条件的下标
  16. [indexSet enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
  17. NSLog(@"%li",idx) ;
  18. }];

NSIndexSet 常用方法

-(BOOL) containIndex:idx

-(NSUInteger) count ;

-(NSUInteger) firstIndex ;

-(NSUInteger) lastIndex ;

-(NSUInteger) indexGreaterThanIndex : idx : 返回 大于 idx 最接近的索引,没找到则返回NSNotFound

-(NSUInteger) indexLessThanIndex : idx : 返回小于 idx 最接近的索引,没找到则返回NSNotFound

posted @ 2015-03-12 09:55  malongs.com  阅读(346)  评论(0编辑  收藏  举报