Objective-C基础

NSArray和NSMutableArray基本用法

2017-05-08  本文已影响85人  噬尾蛇

NSArray基本用法:

    //初始化数组
     NSArray *array1=[NSArray array];
     NSArray *array2=[NSArray alloc]initWithObjects:@"three",@"four", nil];
    //创建数组
    NSArray *array3=[NSArray arrayWithObjects:@"Hello",@"World",@"Objective",@"C",nil];
    NSArray *array4=[NSArray arrayWithArray:array1];

NSArray常用方法:

    //1)获取数组的长度  count获取数组的元素的个数
    NSLog(@"%ld",arr3.count);

    //2)根据下标,获取下标对应的对象
    NSLog(@"%@",[arr3 objectAtIndex:3]);

    //3)返回元素的下标
    NSUInteger loc = [arr3 indexOfObject:@"World"];
    NSLog(@"%ld",loc);

    //4)数组中是否包含了某个元素
    if([arr3 containsObject:@"four"]){
        NSLog(@"包含此元素");
    }else{
        NSLog(@"不包含");
    }

NSArray遍历:

    //定义一个数组
    NSArray *arr = @[@"one",@"two",@"three",@"four"];
    //1) 普通的方式,通过下标访问
    for(int i=0;i<arr,i++){
          NSLog(@"%@",arr[i]);
    }
    //2) 快速枚举法 for循环的增强形式
    for (NSString * str in arr) {
         NSLog(@"---> %@",str);
    }

NSArray与字符串:

  //定义一个数组
  NSArray *arr = @[@1,@2,@3,@4];

  //1)需求: 把数组中的元素用 "-" 连接起来
  //  [数组 componentsJoinedByString @"分隔符"];
  //在NSString中也可以用这个方法连接字符串,只需把arr替换成str,拆分字符串同理
  // 1-2-3-4
  NSString *str = [arr componentsJoinedByString:@"-"];
  NSLog(@"str = %@",str);
  //2) 给一个字符串,分割成一个数组
  // 400-800-12580   //取得 400    12580    800
  NSString *str2 = @"400-800-12580";
  NSArray *arr2 = [str2 componentsSeparatedByString:@"-"];
  NSLog(@"%@",[arr2 firstObject]);
  NSLog(@"%@",[arr2 lastObject]);
  NSLog(@"%@",arr2[1]);

NSMutableArray基本方法:

NSMutableArray除了继承了NSArray基本的方法,还增加了以下的指定初始化函数

-(instancetype)initWithCapacity:(NSUInteger)numItems;
//尾部追加一个元素  
-(void)addObject:(id)anObject;  
//尾部追加一个数组  
-(void)addObjectsFromArray:(NSArray *)otherArray;
//在指定索引处插入一个元素,原来的元素后移  
// index取值范围=[0, count],index=count时相当于addObject  
-(void)insertObject:(id)anObject atIndex:(NSUInteger)index;  
//在指定索引集合处插入一个数组元素,相当于批次insertObject:atIndex:  
-(void)insertObjects:(NSArray *)objects atIndexes:(NSIndexSet*)indexes;
  //交换对应索引位置的元素(索引必须有效)  
  -(void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2;  

  //替换对应索引位置的元素(索引必须有效)  
  -(void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;  

  //替换对应索引集合位置的元素,相当于批次replaceObjectAtIndex: withObject:  
-(void)replaceObjectsAtIndexes:(NSIndexSet *)indexes withObjects:(NSArray*)objects;  

  //等效于replaceObjectAtIndex,支持中括号下标格式(array[index])赋值替换。  
  // index取值范围=[0, count],index=count时相当于addObject  
  -(void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx;  

  //等效于先removeAllObjects后addObjectsFromArray  
  -(void)setArray:(NSArray *)otherArray;
-(void)removeLastObject;  
//删除对应索引位置/范围的元素(索引/范围必须有效)  
-(void)removeObjectAtIndex:(NSUInteger)index;  
-(void)removeObjectsAtIndexes:(NSIndexSet *)indexes;  
-(void)removeObjectsInRange:(NSRange)range;  
//有则删除  
-(void)removeObject:(id)anObject;  
-(void)removeObject:(id)anObject inRange:(NSRange)range;  
-(void)removeObjectsInArray:(NSArray *)otherArray;  
-(void)removeAllObjects;
上一篇下一篇

猜你喜欢

热点阅读