第08天OC语言(07):NSMutableArray

  • 不要等到明天,明天太遥远,今天就行动。
须读:看完该文章你能做什么?

NSMutableArray的基本使用

学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)

NSArray的使用


一、本章笔记
 可变数组的增删改插入获取
    1.添加
    - (void)addObject:(ObjectType)anObject;
    - (void)addObjectsFromArray:(NSArray *)otherArray;
    2.插入
    - (void)insertObject:(ObjectType)anObject atIndex:(NSUInteger)index;
    - (void)insertObjects:(NSArray *)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 
#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;
}

你可能感兴趣的:(第08天OC语言(07):NSMutableArray)