• NSArray和NSMutableArray的使用总结


    NSMutableArray *MutableArray = [NSMutableArray alloc] arrayWithArray:array] //创建可变数组(从现有的数组上建立)
    [MutableArray removeObjectAtIndex:1] //删除数组中指定位置的的元素
    [MutableArray replaceObjectAtIndex:1 withObject:@"tihuan"] //在相应位置
    for(NSString *string in MutableArray)
    { NSLog(@"string:%@",string);} //快速枚举数组中的值

    /*******************************************************************************************
    NSArray
    *******************************************************************************************/

    /*---------------------------创建数组 ------------------------------*/
    //NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];


    /*-------------------------- 从一个数组拷贝数据到另一数组(可变数级)----------------------------*/

    //arrayWithArray:
    //NSArray *array1 = [[NSArray alloc] init];
    NSMutableArray *MutableArray = [[NSMutableArray alloc] init];
    NSArray *array = [NSArray arrayWithObjects:@"a",@"b",@"c",nil];
    NSLog(@"array:%@",array);
    MutableArray = [NSMutableArray arrayWithArray:array];
    NSLog(@"MutableArray:%@",MutableArray);
    array1 = [NSArray arrayWithArray:array];
    NSLog(@"array1:%@",array1);

    //Copy

    //id obj;
    NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray *oldArray = [NSArray arrayWithObjects: @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];

    NSLog(@"oldArray:%@",oldArray);
    for(int i = 0; i < [oldArray count]; i++)
    {
    obj = [[oldArray objectAtIndex:i] copy];
    [newArray addObject: obj];
    }
    //
    NSLog(@"newArray:%@", newArray);
    [newArray release];


    //快速枚举

    //NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray *oldArray = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];
    NSLog(@"oldArray:%@",oldArray);

    for(id obj in oldArray)
    {
    [newArray addObject: obj];
    }
    //
    NSLog(@"newArray:%@", newArray);
    [newArray release];


    //Deep copy

    //NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray *oldArray = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];
    NSLog(@"oldArray:%@",oldArray);
    newArray = (NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers);
    NSLog(@"newArray:%@", newArray);
    [newArray release];


    //Copy and sort

    //NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray *oldArray = [NSArray arrayWithObjects: @"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];
    NSLog(@"oldArray:%@",oldArray);
    NSEnumerator *enumerator;
    enumerator = [oldArray objectEnumerator];
    id obj;
    while(obj = [enumerator nextObject])
    {
    [newArray addObject: obj];
    }
    [newArray sortUsingSelector:@selector(compare:)];
    NSLog(@"newArray:%@", newArray);
    [newArray release];

    /*--------------------------- 切分数组------------------------------*/

    //从字符串分割到数组- componentsSeparatedByString:
    NSString *string = [[NSString alloc] initWithString:@"One,Two,Three,Four"];
    NSLog(@"string:%@",string);
    NSArray *array = [string componentsSeparatedByString:@","];
    NSLog(@"array:%@",array);
    [string release];


    //从数组合并元素到字符串- componentsJoinedByString:
    NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];
    NSString *string = [array componentsJoinedByString:@","];
    NSLog(@"string:%@",string);

    /*******************************************************************************************
    NSMutableArray
    *******************************************************************************************/
    /*--------------- 给数组分配容量----------------*/
    //NSArray *array;
    array = [NSMutableArray arrayWithCapacity:20];

    /*-------------- 在数组末尾添加对象----------------*/
    //- (void) addObject: (id) anObject;
    //NSMutableArray *array = [NSMutableArray arrayWithObjects: @"One",@"Two",@"Three",nil];
    [array addObject:@"Four"];
    NSLog(@"array:%@",array);

    /*-------------- 删除数组中指定索引处对象----------------*/
    //-(void) removeObjectAtIndex: (unsigned) index;
    //NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];
    [array removeObjectAtIndex:1];
    NSLog(@"array:%@",array);

    /*------------- 数组枚举---------------*/
    //- (NSEnumerator *)objectEnumerator;从前向后
    //NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];
    NSEnumerator *enumerator;
    enumerator = [array objectEnumerator];

    id thingie;
    while (thingie = [enumerator nextObject]) {
    NSLog(@"thingie:%@",thingie);
    }


    //- (NSEnumerator *)reverseObjectEnumerator;从后向前
    //NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];
    NSEnumerator *enumerator;
    enumerator = [array reverseObjectEnumerator];

    id object;
    while (object = [enumerator nextObject]) {
    NSLog(@"object:%@",object);
    }


    //快速枚举
    //NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];
    for(NSString *string in array)
    {
    NSLog(@"string:%@",string);
    }

  • 相关阅读:
    在Windows QT下使用ZeroMQ
    libpng warning: iCCP: known incorrect sRGB profile告警处理
    qt 程序发布
    Qtcreator 之中文目录
    windows下kafka配置入门 示例
    CentOS-7安装Mysql集群
    zookeeper 集群安装(单点与分布式成功安装)摘录
    Linux下安装Redis2.6.17
    Hadoop集群Hadoop安装配置
    lvs/dr+keepalived应用测试实施文档
  • 原文地址:https://www.cnblogs.com/foxmin/p/2410441.html
Copyright © 2020-2023  润新知