一、基本概念
NSArray
是一种 Objective-C 中的基本数据结构,它是一个有序的集合,用于存储一组对象。NSArray
中存储的对象可以是任意类型的 Objective-C 对象,包括数字、字符串、数组、字典、自定义对象等。NSArray
的大小是固定的,一旦创建就不能改变。
与 C++ 中的 vector
类似,NSArray
提供了许多基本的操作方法,例如添加、插入、删除等,同时也提供了一些高级的操作方法,例如排序、过滤等。NSArray
的许多操作都可以通过消息传递的方式实现。
二、常见操作方法
1. 创建 NSArray 对象
NSArray
的创建可以使用多种方法,最常见的两种方式如下:
// 使用数组字面量创建 NSArray
NSArray *arr1 = @[@"apple", @"orange", @"banana"];
// 使用数组构造器创建 NSArray
NSArray *arr2 = [[NSArray alloc] initWithObjects:@"apple", @"orange", @"banana", nil];
2. 访问 NSArray 中的对象
NSArray
中包含的对象可以通过下标访问,从 0 开始计数。例如,arr[0]
表示访问 NSArray
中的第一个元素。
// 访问 NSArray 中的对象
NSString *fruit = [arr objectAtIndex:0];
3. 添加对象到 NSArray 中
向 NSArray
中添加对象可以使用以下方法:
// 向 NSArray 中添加一个对象
NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:10];
[mutableArray addObject:@"apple"];
4. 插入对象到 NSArray 中
可以使用以下方法将一个对象插入到 NSArray
的指定位置:
// 在 NSArray 的指定位置插入一个对象
NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:10];
[mutableArray insertObject:@"banana" atIndex:1];
5. 删除 NSArray 中的对象
可以使用以下方法从 NSArray
中删除对象:
// 从 NSArray 中删除一个对象
NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:10];
[mutableArray removeObject:@"apple"];
三、高级操作方法
1. NSArray 的遍历
可以使用快速枚举语法遍历 NSArray
中的所有元素,如下所示:
// 遍历 NSArray 中的所有元素
for (NSString *fruit in arr) {
NSLog(@"fruit: %@", fruit);
}
2. NSArray 的排序
可以使用以下方法对 NSArray
中的元素进行排序:
// 对 NSArray 中的元素进行排序
NSArray *sortedArray = [arr sortedArrayUsingSelector:@selector(compare:)];
3. NSArray 的过滤
可以使用以下方法对 NSArray
中的元素进行过滤:
// 对 NSArray 中的元素进行过滤
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[c] 'a'"];
NSArray *filteredArray = [arr filteredArrayUsingPredicate:predicate];
四、总结
NSArray
是一种 Objective-C 中非常常用的基本数据结构,可以用于存储一组有序的对象。NSArray
提供了许多基本的操作方法,例如添加、插入、删除等,同时也提供了一些高级的操作方法,例如排序、过滤等。熟练掌握 NSArray
的使用方法可以帮助我们更好地处理对象集合,提高代码编写效率。