黑马程序员——Foundation框架—NSArray

 ——- android培训java培训、期待与您交流! ———-

1、NSArray的基本介绍

  • 1)什么是NSArray?
    NSArray是OC中的数组类, 开发中建议尽量使用NSArray替代C语言中的数组

    • C语言中数组的弊端
      int array[4] = {10, 89, 27, 76};
      只能存放一种类型的数据.(类型必须一致)
      不能很方便地动态添加数组元素、不能很方便地动态删除数组元素(长度固定)
  • 2)NSArray的使用注意
    1、只能存放任意OC对象, 并且是有顺序的
    2、不能存储非OC对象, 比如int\float\double\char\enum\struct等
    3、它是不可变的, 一旦初始化完毕后, 它里面的内容就永远是固定的, 不能删除里面的元素, 也不能再往里面添加元素

2、NSArray创建

NSArray的创建方式

    + (instancetype)array;
    + (instancetype)arrayWithObject:(id)anObject;
    + (instancetype)arrayWithObjects:(id)firstObj, ...;
    + (instancetype)arrayWithArray:(NSArray *)array;
    + (id)arrayWithContentsOfFile:(NSString *)path; 
       //读取一个xml文件.
    + (id)arrayWithContentsOfURL:(NSURL *)url; 
       // 读取一个xml文件

2、NSArray的方法使用

#import <Foundation/Foundation.h>  
int main(int argc, const char * argv[])  
{  
    @autoreleasepool {  

        //类方法数组创建  
        NSArray *array1 = [NSArray arrayWithObject:@"obj"];  
        NSArray *array2 = [NSArray arrayWithObjects:@"obj1", @"obj2", @"obj3", nil];  
        NSArray *array3 = [NSArray arrayWithArray:array2];  
        NSLog(@"array1 :%@", array1);  
        NSLog(@"array2 :%@", array2);  
        NSLog(@"array3 :%@", array3);  

        //实例方法创建数组  
        NSArray *array4 = [[NSArray alloc] initWithObjects:@"AAA", @"bbb", nil];  
        NSLog(@"array4 :%@", array4);  

        //数组个数  
        NSLog(@"array3 count :%d", [array3 count]);  

        //访问元素  
        NSLog(@"obj at index :%@", [array2 objectAtIndex:2]);  

        //追加(返回新的array对象)  
        NSArray *array5 = [array3 arrayByAddingObject:@"ccc"];  
        NSLog(@"array5 :%@", array5);  


        //根据指定的字符串连接数组元素  
        NSString *joinString1 = [array5 componentsJoinedByString:@"|"];  
        NSLog(@"joinString :%@",joinString1);  


        //是否包含指定对象  
        NSLog(@"isContains :%d", [array5 containsObject:@"obj2"]);  


        //查找某个对象所在索引  
        NSLog(@"indexOfObject :%d",[array5 indexOfObject:@"obj3"]);  

        //最后一个元素  
        NSLog(@"lastObejct :%@", [array5 lastObject]);  

        //遍历数组  
        for (id element in array5) {  
            NSLog(@"element :%@", element);  
        }  




        //可变数组(期望容量设置为3)  
        NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:3];  
        //直接添加  
        [mutableArray addObject:@"aaa"];  
        [mutableArray addObject:@"eee"];  
        [mutableArray addObject:@"000"];  
        NSLog(@"addObject :%@", mutableArray);  

        //插入元素  
        [mutableArray insertObject:@"ccc" atIndex:0];  
        NSLog(@"insertObject :%@", mutableArray);  

        //移除指定元素  
        [mutableArray removeObject:@"ccc"];  
        NSLog(@"removeObject :%@", mutableArray);  

        //移除指定下标元素  
        [mutableArray removeObjectAtIndex:0];  
        NSLog(@"removeObjectAtIndex :%@", mutableArray);  

        //移除最后一个元素  
        [mutableArray removeLastObject];  
        NSLog(@"removeLastObject :%@", mutableArray);  

        //添加数组  
        [mutableArray addObjectsFromArray:array5];  
        NSLog(@"addObjectsFromArray :%@", mutableArray);  


        //移除指定数组中的内容  
        [mutableArray removeObjectsInArray:array2];  
        NSLog(@"removeObjectsInArray :%@", mutableArray);  


        //指定索引替换对象  
        [mutableArray replaceObjectAtIndex:0 withObject:@"==="];  
        NSLog(@"replaceObjectAtIndex :%@", mutableArray);  




        //删除全部对象  
        [mutableArray removeAllObjects];  
        NSLog(@"removeAllObjects :%@", mutableArray);  
    }  
    return 0;  
}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值