♠创建不可变数组(创建以后不可以增删元素,不可以改变数组长度)
NSArray* array= @[@"12",@"34",@"56"]; //数组元素为12,34,56;
♠创建可变数组(可以增删元素,可以修改长度)
NSMutableArray* array = [[NSMutableArray alloc] init];
♠在可变数组后面追加元素(不可变数组不可以追加)
[arrayaddObject:@"111"]; //array是可变数组,在其后面追加111
♠在数组指定下标插入元素
[arrayinsertObject:@"333" atIndex:2]; //在array第二个位置处插入元素:333
♠交换数组中的元素
[arrayexchangeObjectAtIndex:0 withObjectAtIndex:3]; //交换下标为0和下标为3处的元素
♠替换元素(把数组中的某个元素用指定元素替换)
[arrayreplaceObjectAtIndex:3 withObject:@"888"]; //把下标为3处的元素替换成:888
♠删除数组中最后一个元素
[arrayremoveLastObject]; //删除最后一个元素(容器还在)
♠删除一个指定元素
[arrayremoveObjectAtIndex:1]; //删除(移除)下标为1的元素
♠把一个字符串用指定的一个字符分割
NSString * str= @"yesiamsobadman";//定义给一个字符串
NSArray * temp= [str componentsSeparatedByString:@"m"]; //用”m”分割上面的字符串(同理可以用其他字符分割(分割成多个串))
♠把上一个分好的串用指定字符连接起来
NSString *str1 = [temp componentsJoinedByString:@" "]; //用空格把temp中的多个串连接起来
♠在数组中查找指定内容
NSUIntegerindex = [array indexOfObject:@"34"];//在数组中查找是否有”34”这个元素.用index记录下标,,返回的是(index)数组的下标.
if(index != NSNotFound) //找到的话输出所在的位置(下标位置)
{
NSLog(@"%lu",index);//输出下标位置(找不到的情况用else输出)
}
♠地址比较查找 (不太明白8.7)
NSMutableString* string = [[NSMutableString alloc] initWithString:@"56"]; //创建可变字符串
NSUIntegerindex = [array indexOfObjectIdenticalTo:string];
if(index != NSNotFound)// 找到的话输出下标
{
NSLog(@"%lu",index);
}
else
{
NSLog(@"not found");
}
♠创建通用对象指针
id p = @”哈哈”;//此时p的内容就是”哈哈”
♠内置类型放到数组需要封装
int a = 10;
//封装(把整型变量封装成对象,取值的时候需要解封)
NSNumber*numA = [NSNumber numberWithInt:a];
解开封装(此时b =10)
int b = [numA intValue];
♠构建数组(意味着一个数组可以包含另外一个数组)
NSArray * a =[NSArray arrayWithObjects:@"1",@"2",[NSNumbernumberWithDouble:2.6],[NSNumber numberWithDouble:2.7],nil]; //在数组元素本来是1和2两个元素的数组中又加了两个double类型的数组2.6和2.7
♠复制一个数组
NSArray * y = [NSArray array WithArray:a];//把a数组复制到y数组
NSArray * b = [NSArray arrayWithObject:y]; //把y数组复制到b数组(这个和上一个不一样,这个可复制的范围更广一些)
♠xcode4.6后新语法
NSArray * c = @[@"qwer",[NSNumber numberWithInt:5]];//在qwer数值元素后面加入数值元素5;
♠数组的遍历(循环)
NSInteger len = [c count]; //[c count]数组c元素的个数
for(int i = 0;i < len;i++)
{
id p = [cobjectAtIndex:i]; //得到指定下标的数组元素(对象地址)
NSLog(@"%@",p);
}
♠数组的遍历(快速枚举)
for (id p in c) { //id是对象指针 in后面是对象集合(一直到 最后一个元素)
NSLog(@"%@",p);
}
♠数组的遍历(枚举器)
NSEnumerator * enumer = [a objectEnumerator];//返回数组的枚举对象
id p;
while (p = [enumer nextObject]) //到下一个对象 一直到最后一个对象
{
NSLog(@"%@",p); //打印的是数组a(前面已经定义)里面的值
}
♠检测数组是否包含某个元素
BOOL is = [a containsObject:@"1"]; //检测数组a里是否包含”1”这个元素
if (is)
{
NSLog(@"YES");//是的话输出YES
}
[a firstObject]; //得到数组a的第一个对象(元素)
NSLog(@"%@",[a lastObject]); //输出数组a的最后一个对象(元素)