1) NSArray :不可变数组
NSMutableArray : 可变数组
2) OC数组只能存放OC对象,不能存放非OC对象类型,比如int、struct、enum等。
OC数组不能存放nil值
3) NSArray的创建
NSArray *array1 = [NSArray arrayWithObject:@"jack"];
// nil是数组元素结束的标记
NSArray *array2 = [NSArray arrayWithObjects:@"jack",@"rose", nil];
// 快速创建一个NSArray对象,@[] 只创建不可变数组NSArray
NSArray *array3 = @[@"jack", @"rose",@"4324324"];
4) 求数组元素个数
[array2 count];
5) NSArray中元素访问
NSLog(@"%@", [array2 objectAtIndex:1]);
NSLog(@"%@", array2[1]);
6) 遍历数组元素
for (int i = 0; i<array.count; i++)
{
NSLog(@"%@", array[i]);
}
//快速遍历
for (id obj in array)
{
// 找出obj元素在数组中的位置
NSUInteger i = [arrayindexOfObject:obj];
NSLog(@"%ld - %@", i, obj);
}
[array enumerateObjectsUsingBlock:
// 每遍历到一个元素,就会调用一次block
// 并且当前元素和索引位置当做参数传给block
^(id obj, NSUInteger idx, BOOL *stop)
{
NSLog(@"%ld - %@", idx, obj);
if (idx == 0)
{
// 停止遍历
*stop = YES;
}
}];