IOS 数组的使用

一.不可变数组

NSArray *arr = [[NSArray alloc]init];    //创建空数组

NSArray *arr1= [NSArray alloc]initWithObjects:@"sun",@"is",@"girl", nil];       //对象方法创建数组 以nil结束

NSArray *arr2 = [[NSArray array]initWithArray:arr];    //用已有数组创建新数组

NSArray *arr3 = [NSArray arrayWithArray:arr2];       //通过类方法创建数组

NSArray *arr4 = [NSArray array];                //类方法创建空数组

1.不可变数组的方法

 //取一个元素
   NSArray *arr = @[@"sun",@"is",@"a",@"smilling",@"girl"];
   NSString *string = [arr objectAtIndex:2]
 //for in 快速遍历  只针对数组来说,in的前面是数组中的元素, in后面是要遍历的集合(数组/字典)
  for (NSString *str in array1) {
    NSLog(@"%@",str);
  }

二.可变数组

         创建

 NSMutableArray *mutArray = [NSMutableArray array];           //创建空数组

 NSMutableArray *mutAr = [NSMutableArray arrayWithCapacity:100];

NSMutableArray *mutcap = [[NSMutableArray alloc]initWithCapacity:100];

NSArray *array = @[@"dskfj",@"df",@"sd",@"f"];

NSMutableArray *mutarr3 = [[NSMutableArray alloc]initWithArray:array];

NSMutableArray *mutarr5 = [NSMutableArray arrayWithObjects:@"sdj",@"dsf", nil];          //通过类方法

增加        使用addobject方法:注意该方法是将整个对象传入一个数组元素

增加多个          使用addobjectfromArray:注意该方法是将对象中的数组元素或数组对象传入数组,一个对应一个

//1.1按元素删除

注意:如果数组中有多个相同的元素,那么会全部删除

NSMutableArray *mutArray = [NSMutableArray arrayWithObjects:@"sd",@"sun",@"id",@"good",@"girl", nil];

[mutArray removeObject:@"sd"];

  //1.2按下标删除
     [mutArray removeObjectAtIndex:3];
  //1.3删除最后一个
      [mutArray removeLastObject];

//删除多个

//在range范围内删除第一个参数的中的数据

NSIndexSet *set4 = [[NSIndexSet alloc]initWithIndexesInRange:NSMakeRange(5, 2)];

[mutArray removeObjectsAtIndexes:set4];

 //删除全部
      [mutArray removeAllObjects];

简单数据封装存储在字典和数字中

 
    NSNumber *aNum = [[NSNumber alloc] initWithInt:a];
    NSNumber *bNum = [[NSNumber alloc] initWithInt:b];

int count = [array count];//个数  
// 判断是否包含了某个元素  
if ([array containsObject:@"a"]) {  
    NSLog(@"包含了字符串a");  
}  
NSString *last = [array lastObject];最后一个元素  
NSString *str = [array objectAtIndex:1];根据索引获取数组中的元素  
int index = [array indexOfObject:@"c"];获取指定元素的索引  
// 让数组里面的所有对象都调用test方法,123为参数  
NSArray *array = [NSArray arrayWithObjects:stu1, stu2, stu3, nil nil];  
[array makeObjectsPerformSelector:@selector(test2:) withObject:@"123"];  
NSArray *array = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil nil];  
// 1-2-3-4  
// 利用分隔符-拼接所有的数组元素  
NSString *str = [array componentsJoinedByString:@"-"];  
// 将一个数组写入文件(生成的是一个xml文件)  
NSString *path = @"/Users/apple/Desktop/array.xml";  
[array writeToFile:path atomically:YES];  
path = @"/Users/apple/Desktop/array.txt";  
// 从文件中读取数组内容(文件有严格的格式要求)  
NSArray *array2 = [NSArray arrayWithContentsOfFile:path];

猜你喜欢

转载自blog.csdn.net/Sakura259/article/details/81089868