這一節,我們說說NSArray和NSMutableArray這兩個集合
1、NSArray是不可變數組,而NSMutableArray是可變數組
2、OC中有一個快捷創建Array集合的方法,@[@"xxx",@"ddd"];但是需要注意的是,這裏產生的是NSArray,而不是NSMutableArray
3、NSArray的創建
NSArray *array = [NSArray arrayWithObject:@"jack"];
4、nil是數組元素結束標記
NSArray *array = [NSArray arrayWithObjects:@"jack",@"rose",nil];
5、NSArray的快速創建
NSArray *array = @[@"abc",@"123"];
6、訪問元素
[array objectAtIndex:1];
//效果如同
array[0];
這個算作編譯器特性7、對於NSMutableArray還有如下的方法
添加元素:
[array addObject:@"abc"];
8、
[array removeObjectAtIndex:0];
[array removeObject:@"abc"];
[array removeAllObejcts];
9、注意點:這兩種都不能存放nil
這兩種只能存放OC對象,不能存放非OC對象類型
10、遍歷
第一種,使用for循環,利用i作爲角標,來讀取
for(int i = 0;i<array.count;a++)
{
array[i];
}
第二種:利用增強for循環
for(xxx in xxx)
{
}
第三種:
[array enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop)]
{
}
排序數組對象
NSArray *unsortedStrings = @[@"gammaString",@"alphaString",@"betaString"];
NSArray *sortedStrings = [unsortedStrings sortedArrayUsingSelector:@selector(compare:)];
變異字符串
if([immutableArray count] > 0)
{
id string = immutableArray[0];
if([string isKindOfClass:[NSMutableString class]])
{
[string appendString:@" World!"];
}
}
替換某個位置的對象
[mutableArray replaceObjectAtIndex:0 withObject:@"epsilon"];