上一章我们讲述了NSString和NSMutableString的常用方法
OC之NSString
这章我们来看看不可变数组(NSArray)和可变数组(NSMutableArray)的常用方法都有哪些
首先看一下数组对应的添加方法
代码段:
// 数组(NSArray/NSMutableArray)增加方法
// 自面量@[object1, object2....](NSArray适用)
NSArray *array1 = @[@"string01", @"string11", @"string02", @"string05", @"string03"];
NSLog(@"自面量创建不可变数组 array1 = %@", array1);
// 初始化方法[[NSArray alloc] initWithObjects:object1, object2...,nil](NSArray/NSMutableArray适用)
NSArray *array2 = [[NSArray alloc] initWithObjects:@"string01", @"string21", @"string04", @"string02", nil];
NSLog(@"使用初始化方法创建不可变数组 array2 = %@", array2);
NSMutableArray *muArray1 = [[NSMutableArray alloc] initWithObjects:@"string01", @"string21", @"string04", @"string02", nil];
NSLog(@"使用初始化方法创建可变数组 muArray1 = %@", muArray1);
// 便利构造器[NSArray arrayWithObjects:object1, object2....,nil](NSArray/NSMutableArray适用)
NSArray *array3 = [NSArray arrayWithObjects:@"string01", @"string21", @"string04", @"string02", nil];
NSLog(@"使用便利构造器创建不可变数组 array3 = %@", array3);
NSMutableArray *muArray2 = [NSMutableArray arrayWithObjects:@"string01", @"string21", @"string04", @"string02", nil];
NSLog(@"使用便利构造器创建可变数组 muArray2 = %@", muArray2);
NSMutableArray *muArray3 = [NSMutableArray array]; // 使用便利构造器创建一个空的可变数组 这个方法在做项目中会经常使用到
// [mutableArray addObject:](NSMutableArray适用)
[muArray3 addObject:@"string09"];
NSLog(@"可变数组追加元素 muArray3 = %@", muArray3);
// [mutableArray addObjectsFromArray:](NSMutableArray适用)
[muArray3 addObjectsFromArray:array2];
NSLog(@"可变数组追加一个不可变数组 muArray3 = %@", muArray3);
// 数组(NSArray/NSMutableArray)删除方法 (NSMutableArray适用)
// [mutableArray removeObject:]
[muArray3 removeObject:@"string09"];
NSLog(@"可变数组删除一个元素 muArray3 = %@", muArray3);
// [mutableArray removeObjectAtIndex:]
[muArray3 removeObjectAtIndex:1];
NSLog(@"可变数组删除指定下标的元素 muArray3 = %@", muArray3);
// [mutableArray removeLastObject]
[muArray3 removeLastObject];
NSLog(@"可变数组删除最后一个元素 muArray3 = %@", muArray3);
// [mutableArray removeAllObjects]
[muArray3 removeAllObjects];
NSLog(@"可变数组删除所有元素 muArray3 = %@", muArray3);
运行结果:
2015-05-28 19:17:13.846 Demo_01[2649:167665] 自面量创建不可变数组 array1 = (
string01,
string11,
string02,
string05,
string03
)
2015-05-28 19:17:13.847 Demo_01[2649:167665] 使用初始化方法创建不可变数组 array2 = (
string01,
string21,
string04,
string02
)
2015-05-28 19:17:13.847 Demo_01[2649:167665] 使用初始化方法创建可变数组 muArray1 = (
string01,
string21,
string04,
string02
)
2015-05-28 19:17:13.847 Demo_01[2649:167665] 使用便利构造器创建不可变数组 array3 = (
string01,
string21,
string04,
string02
)
2015-05-28 19:17:13.848 Demo_01[2649:167665] 使用便利构造器创建可变数组 muArray2 = (
string01,
string21,
string04,
string02
)
2015-05-28 19:17:13.848 Demo_01[2649:167665] 可变数组追加元素 muArray3 = (
string09
)
2015-05-28 19:17:13.848 Demo_01[2649:167665] 可变数组追加一个不可变数组 muArray3 = (
string09,
string01,
string21,
string04,
string02
)
对数组元素进行删除的方法(注意该方法只对NSMutableArray可变数组适用)
代码段:
// 数组(NSArray/NSMutableArray)删除方法 (NSMutableArray适用)
// [mutableArray removeObject:]
[muArray3 removeObject:@"string09"];
NSLog(@"可变数组删除一个元素 muArray3 = %@", muArray3);
// [mutableArray removeObjectAtIndex:]
[muArray3 removeObjectAtIndex:1];
NSLog(@"可变数组删除指定下标的元素 muArray3 = %@", muArray3);
// [mutableArray removeLastObject]
[muArray3 removeLastObject];
NSLog(@"可变数组删除最后一个元素 muArray3 = %@", muArray3);
// [mutableArray removeAllObjects]
[muArray3 removeAllObjects];
NSLog(@"可变数组删除所有元素 muArray3 = %@", muArray3);
运行结果:
2015-05-28 19:19:46.011 Demo_01[2663:169111] 可变数组删除一个元素 muArray3 = (
string01,
string21,
string04,
string02
)
2015-05-28 19:19:46.012 Demo_01[2663:169111] 可变数组删除指定下标的元素 muArray3 = (
string01,
string04,
string02
)
2015-05-28 19:19:46.012 Demo_01[2663:169111] 可变数组删除最后一个元素 muArray3 = (
string01,
string04
)
2015-05-28 19:19:46.018 Demo_01[2663:169111] 可变数组删除所有元素 muArray3 = (
)
对数组进行修改的方法(同样该类方法只对NSMutableArray可变数组适用)
代码段:
// 数组(NSArray/NSMutableArray)修改方法(NSMutableArray适用)
// [mutableArray replaceObjectAtIndex:withObject:]
[muArray2 replaceObjectAtIndex:0 withObject:@"string100"];
NSLog(@"可变数组把指定下标的元素变更成指定元素 muArray2 = %@", muArray2);
// [mutableArray replaceObjectsInRange:withObjectsFromArray:]
[muArray2 replaceObjectsInRange:NSMakeRange(0, 2) withObjectsFromArray:@[@"string101", @"string102"]];
NSLog(@"可变数组把指定范围的元素转换成指定数组 muArray2 = %@", muArray2);
运行结果:
2015-05-28 19:19:46.018 Demo_01[2663:169111] 可变数组把指定下标的元素变更成指定元素 muArray2 = (
string100,
string21,
string04,
string02
)
2015-05-28 19:19:46.018 Demo_01[2663:169111] 可变数组把指定范围的元素转换成指定数组 muArray2 = (
string101,
string102,
string04,
string02
)
对数组元素进行查询的方法(这些方法对NSArray不可变数组和NSMutableArray可变数组都适用)
代码段:
// 数组(NSArray/NSMutableArray)查询方法
// [mutableArray ObjectAtIndex:]
NSString *value = [array2 objectAtIndex:0];
NSLog(@"不可变数组按照数组下标查询元素 value = %@", value);
NSString *muValue = [muArray2 objectAtIndex:0];
NSLog(@"可变数组按照数组下标查询元素 muValue = %@", muValue);
// [mutableArray indexOfObject:]
NSUInteger key = [array2 indexOfObject:@"string21"];
NSLog(@"不可变数组查询某个对象在数组中得下标 key = %lu", key);
NSUInteger muKey = [muArray2 indexOfObject:@"string102"];
NSLog(@"可变数组查询某个对象在数组中得小标 muKey = %lu", muKey);
// [mutableArray count]
NSInteger count = [array2 count];
NSLog(@"查询不可变数组的长度 count = %ld", count);
NSInteger muCount = [muArray2 count];
NSLog(@"查询可变数组的长度 muCount = %ld", muCount);
// mutableArray[i]
NSString *subValue = array2[3];
NSLog(@"不可变数组按照数组下标查询元素的另一种方法 subValue = %@", subValue);
NSString *muSubValue = muArray2[3];
NSLog(@"可变数组按照数组下标查询元素的另一种方法 muSubValue = %@", muSubValue);
运行结果:
2015-05-28 19:19:46.019 Demo_01[2663:169111] 不可变数组按照数组下标查询元素 value = string01
2015-05-28 19:19:46.019 Demo_01[2663:169111] 可变数组按照数组下标查询元素 muValue = string101
2015-05-28 19:19:46.019 Demo_01[2663:169111] 不可变数组查询某个对象在数组中得下标 key = 1
2015-05-28 19:19:46.019 Demo_01[2663:169111] 可变数组查询某个对象在数组中得小标 muKey = 1
2015-05-28 19:19:46.019 Demo_01[2663:169111] 查询不可变数组的长度 count = 4
2015-05-28 19:19:46.019 Demo_01[2663:169111] 查询可变数组的长度 muCount = 4
2015-05-28 19:19:46.020 Demo_01[2663:169111] 不可变数组按照数组下标查询元素的另一种方法 subValue = string02
2015-05-28 19:19:46.020 Demo_01[2663:169111] 可变数组按照数组下标查询元素的另一种方法 muSubValue = string02
欢迎大家及时补充,一起进步!
另外下一章我们将讲解OC中字典的常见用法