在Foundation框架中,數(shù)組(NSArray爽冕,NSMutableArray)是一組有序的對象集合溅呢,通過索引下標獲得各個元素杖狼。NSArray中只能存放對象炼蛤,不能存放基本數(shù)據(jù)類型,若需要存放基本數(shù)據(jù)類型蝶涩,則需要使用NSNumber鲸湃、NSValue進行數(shù)據(jù)封裝,同時數(shù)組中不能存放nil(對象的值為零或null)子寓。并且NSArray中最好存同一種類型的對象。
創(chuàng)建初始化:
NSArray *array = [[NSArray alloc] initWithObjects:s1, s2, nil];
[NSArray arrayWithObjects:s1, s2, nil];// 類方法創(chuàng)建
[NSArray arrayWithArray:array1];// 創(chuàng)建數(shù)組并存入一個數(shù)組
常用方法:
// 通過下標取元素
[array1 objectAtIndex:0];
// 獲取數(shù)組元素個數(shù)笋除,等價于array.count;
[array1 count];
// 判斷數(shù)組中是否存在某對象
[array1 containsObject:@"shen"];
// 判斷某對象在數(shù)組中的位置
[array1 indexOfObject:@"shen"];
// 將數(shù)組中的字符串用指定符號連接起來
[array componentsJoineByString:@","];
// 訪問數(shù)組的最后一個對象斜友,等價于array1.lastObject;
[array1 lastObject];
// 在數(shù)組后追加一個對象,返回一個新數(shù)組
[array1 arrayByAddingObject:@"shen"];
優(yōu)化語法:
// 創(chuàng)建
NSArray *array = @[s1, s2, s3];
// 通過下標取元素
array1[0];
讀寫文件:
// 文件路徑
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Document/array.plist"];
// 寫文件
BOOL success = [array writeToFile:path atomically:YES];
// 讀文件
NSArray *readArray = [[NSarray alloc] initWithContentsOfFile:path];
NSMutableArray
// 初始化垃它,設定元素個數(shù)為5鲜屏,可更改
NSMutableArray *muA = [NSMutableArray arrayWithCapacity:5];
// 向數(shù)組中添加一個元素
[muA addObject:@"shen"];
// 向指定下標插入一個元素
[muA insertObject:@"shen" atIndex:0];
// 移除最后一個元素
[muA removeLastObject];
// 移除指定元素
[muA removeObject:@"shen"];
// 移除指定下標元素
[muA removeObjectAtIndex:0];
// 移除所有元素
[muA removeAllObects];
// 向數(shù)組中添加數(shù)組
[muA addObjectsFromArray:array];
// 替換指定下標的元素
[muA replaceObjectAtIndex:0 withObject:@"shen"];
// 元素位置互換
[muA exchangeObjectAtIndex:3 withObjectAtIndex:0];
數(shù)組遍歷
// 普通遍歷:
for (int i=0; i<arr.count; i++) {
NSLog(@"%@",arr[i]);
}
// 快速遍歷:
for (NSString * str in arr) {
NSLog(@"%@",str);
}