// 数组存放的内容必须是NSObject对象,数组中存放的内容是有序的
// 数组打印输出在输出台是用()包括起来的
// NSArray 不可变数组
// 1.创建对象
// 初始化方法
NSArray *array1 = [[NSArray alloc] initWithObjects:@"盖聂", @"卫庄", @"天明", @"少羽", nil];
NSArray *array2 = [[NSArray alloc] initWithArray:array1];
NSLog(@"%@", array2);
// 类方法
NSArray *array3 = [NSArray arrayWithObjects:@"盖聂", @"卫庄", @"天明", @"少羽", nil];
NSLog(@"%@", array3);
// 字面量方法
NSArray *array4 = @[@"yinhao", @"man", @27, @99];
NSLog(@"%@", array4);
// 2.数组查找
// 通过下标访问对象
NSLog(@"%@", array1[2]);
NSString *str1 = [array1 objectAtIndex:2];
NSLog(@"%@", str1);
// 通过对象访问下标
NSString *str2 = @"卫庄";
NSUInteger index = [array1 indexOfObject:str2];
NSLog(@"%lu", index);
// 3.判断数组中是否包含某个指定的对象
BOOL isHasGn = [array1 containsObject:@"盖聂"];
NSLog(@"%d", isHasGn);
// 4.NSString和NSArray之间的转换
NSString *string1 = @"盖聂&卫庄&天明";
// 将一个字符串按照指定字符截取,每段内容存放在数组中
NSArray *strArray = [string1 componentsSeparatedByString:@"&"];
NSLog(@"%@", strArray);
NSLog(@"%@", strArray[0]);
NSLog(@"%@", strArray[1]);
NSLog(@"%@", strArray[2]);
// 将数组中的元素按照指定的字符串拼接成新的字符串
NSArray *array5 = @[@"尹浩", @"尹笑", @"尹双浩"];
NSString *string2 = [array5 componentsJoinedByString:@""]; // @""加什么都可以,不加也可以
NSLog(@"%@", string2);
// NSMutableArray 可变数组
// 1.创建对象(初始化方法,类方法,字面量方法均可)
NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"尹浩", @"尹笑", @"尹双浩", @"尹冬冬", nil];
NSLog(@"%@", mArray);
// 2.添加元素,插入元素
// 添加(加到最后面)
[mArray addObject:@"yinxiao"];
NSLog(@"%@", mArray);
// 插入到指定位置
[mArray insertObject:@"yinhao" atIndex:2];
NSLog(@"%@", mArray);
// 3.删除元素
// 删除指定的元素
//[mArray removeObject:@"yinhao"];
// 删除所有
//[mArray removeAllObjects];
// 删除最后一个
//[mArray removeLastObject];
// 指定下标删除
//[mArray removeObjectAtIndex:2];
// 4.替换指定位置的对象
[mArray replaceObjectAtIndex:3 withObject:@"yinshuanghao"];
NSLog(@"%@", mArray);
// 5.交换两个指定位置的对象
[mArray exchangeObjectAtIndex:2 withObjectAtIndex:4];
NSLog(@"%@", mArray);