- 不要等到明天,明天太遥远,今天就行动。
须读:看完该文章你能做什么?
NSMutableArray的基本使用
学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)
NSArray的使用
一、本章笔记
可变数组的增删改插入获取
1.添加
- (void)addObject:(ObjectType)anObject;
- (void)addObjectsFromArray:(NSArray<ObjectType> *)otherArray;
2.插入
- (void)insertObject:(ObjectType)anObject atIndex:(NSUInteger)index;
- (void)insertObjects:(NSArray<ObjectType> *)objects atIndexes:(NSIndexSet *)indexes;
3.删除
- (void)removeObjectAtIndex:(NSUInteger)index;
- (void)removeLastObject;
- (void)removeObject:(ObjectType)anObject;
4.替换
- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(ObjectType)anObject;
5.获取
- (ObjectType)objectAtIndex:(NSUInteger)index;
二、code
main.m
#pragma mark 07-NSMutableArray
#pragma mark - 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#pragma mark - main函数
int main(int argc, const char * argv[])
{
// 创建一个空的数组
NSMutableArray *arrM = [NSMutableArray array];
NSLog(@"前%@",arrM);
#pragma 1.添加
[arrM addObject:@"lyh"];
// 将指定数组中的元素 都取出来,放到arrM中
// 并不是将整个数组 作为一个元素 添加到arrM中
[arrM addObjectsFromArray:@[@"lyh",@"hxm"]];
//注意 : 一下是将整个数组 作为一个元素添加
// [arrM addObject:@[@"lyh",@"hxm"]];
NSLog(@"1.添加%@",arrM);
#pragma 2.插入
[arrM insertObject:@"l" atIndex:1];
NSRange range = NSMakeRange(2, 3);
NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:range];
// 插入一组数据, 指定数组需要插入的位置,和插入多少个
[arrM insertObjects:@[@"o",@"v",@"e"] atIndexes:set];
NSLog(@"2.插入%@",arrM);
#pragma 3.删除
[arrM removeObjectAtIndex:0];
NSLog(@"3.删除%@",arrM);
[arrM removeLastObject];
NSLog(@"3.删除%@",arrM);
[arrM removeObject:@"lyh"];
NSLog(@"3.删除%@",arrM);
#pragma 4.替换
[arrM replaceObjectAtIndex:1 withObject:@"l"];
NSLog(@"4.替换%@",arrM);
arrM[2] = @"o";
NSLog(@"4.替换%@",arrM);
#pragma 5.获取
NSLog(@"%@",[arrM objectAtIndex:3]);
NSLog(@"%@",arrM[2]);
#pragma mark
// 不能: 通过@[]来创建一个可变数组,因为@[] 创建出来的 是一个不可变的数组
// 如果把一个不可变数组 当做一个可变数组来使用, 会引发一个 运行时的错误
// 错误写法
// NSMutableArray *arrM2 = @[@"lyh",@"hxm"];
// [arrM2 addObject:@"lll"];
return 0;
}