zoukankan      html  css  js  c++  java
  • [Objective-C] 008_Foundation框架之NSArray与NSMutableArray

      在Cocoa Foundation中NSArray和NSMutableArray 用于对象有序集合,NSArray和NSMutableArray类最大的区别是:NSArray是不可变,NSMutableArray是可变的。它们只能存储Cocoa对象(NSObject对象),如果想保存一些原始的C数据(如:int,float,double,BOOL等),则需要将这些原始的C数据封装NSNumber类型,它们的下标是从0开始,下面是NSArray和NSMutableArray类的一些常用初级操作。

    1.NSArray 初始化

    NSArray *array = [[NSArray alloc] initWithObjects:@"SuperDo.Horse",@"SuperDo.Mount",@"SuperDo.AC",nil];
    //用现有的数组进行初始化
    NSArray *array1 = [NSArray arrayWithArray:array];

     2.NSArray 快速枚举

    NSArray *array = [[NSArray alloc] initWithObjects:@"SuperDo.Horse",@"SuperDo.Mount",@"SuperDo.AC",nil];
    for (NSString *str in array) {
        NSLog(@"%@",str);
    }

    3.NSMutableArray 简单排序

    NSMutableArray*array = [[NSMutableArray alloc] initWithObjects:@"SuperDo.Horse",@"SuperDo.Mount",@"SuperDo.AC",nil];
    //数组中的元素按照字符串大小排序:
    [array sortUsingSelector:@selector(compare:)];
    NSLog(@"sorted array:%@",array);

    4.字符串 ---> NSArray

    NSString *string = [[NSString alloc] initWithString:@"A|B|C|D"];
    NSLog(@"string:%@",string);
    NSArray *array = [string componentsSeparatedByString:@"|"];
    NSLog(@"array:%@",array);

    5.NSArray ---> 字符串

    NSArray *array = [[NSArray alloc] initWithObjects:@"A",@"B",@"C",@"D",nil];
    NSString *string = [array componentsJoinedByString:@"|"];
    NSLog(@"string:%@",string);

    6.元素操作

    //插入元素
    NSMutableArray *array = [NSMutableArray arrayWithObjects:
                             @"One",@"Two",@"Three",nil];
    [array addObject:@"Four"];
    NSLog(@"array:%@",array);
    
    //删除元素
    [array removeObjectAtIndex:1];
    NSLog(@"array:%@",array);
    
    //枚举元素(从前向后)
    NSEnumerator  *enumerator = [array objectEnumerator];
    id next;
    while (next = [enumerator nextObject]) {
        NSLog(@"object------》:%@",next);
    }
    
    //枚举元素(从后向前)
    NSEnumerator *enumerator = [array reverseObjectEnumerator];
    id object;
    while (object = [enumerator nextObject]) {
        NSLog(@"object------》:%@",object);
    }
    

     

    本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 
    转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4594178.html

     

  • 相关阅读:
    python爬虫之urllib
    python 数据库操作类
    Vue学习之路第十篇:简单计算器的实现
    Vue学习之路第九篇:双向数据绑定 v-model指令
    Vue学习之路第八篇:事件修饰符
    Vue学习之路第七篇:跑马灯项目实现
    Vue学习之路第六篇:v-on
    Vue学习之路第五篇:v-bind
    Vue学习之路第四篇:v-html指令
    Vue学习之路第三篇:插值表达式和v-text的区别
  • 原文地址:https://www.cnblogs.com/superdo/p/4594178.html
Copyright © 2011-2022 走看看