黑马程序员——OC语言加强---NSArray 的介绍和基本使用

                                                                            ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

NSArray 的介绍和基本使用

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的创建方式

+ (instancetype)array;

+ (instancetype)arrayWithObject:(id)anObject;

+ (instancetype)arrayWithObjects:(id)firstObj, ...;

+ (instancetype)arrayWithArray:(NSArray *)array;

+ (id)arrayWithContentsOfFile:(NSString *)path; // 读取一个xml文件.

+ (id)arrayWithContentsOfURL:(NSURL *)url; // 读取一个xml文件.

1)NSArray的类方法创建 

2)使用NSArray的对象方法创建 

3)使用已经存在数组创建新的数组

3、NSArray的使用注意

数组使用注意:

NSArray直接使用NSLog()作为字符串输出时是小括号括起来的形式。NSArray中不能存储nil,因为NSArray认为nil是数组的结束(nil是数组元素结束的标记)。nil就是0。0也是基本数据类型,不能存放到NSArray中。

     NSArray *array = [NSArrayarray]; // 这样的数组永远是空的,不可能向其中增加值。(不可 变性)

<span style="font-size:14px;">#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
    @autoreleasepool {        
        //NSArray特点:
        // 一旦创建成功,内容不可改变
        // 只能存放OC对象        
        //1)创建一个空数组
        NSArray *arr1 = [NSArray array];
        //2)创建数组,只有一个元素
        NSArray *arr2 = [NSArray arrayWithObject:@"1"];
        //3)创建数组,有多个元素
        // nil 表示数组赋值结束
        // 常见写法
        NSArray *arr3 = [NSArray arrayWithObjects:@"one",@"two",@1, nil];
                        NSLog(@"arr3 = %@",arr3);
        //4)调用对象方法,创建数组
        //nil Nil NULL  NSNULL
        NSArray *arr4 = [[NSArray alloc] initWithObjects:@"three",[NSNull null],@"four", nil];
                        NSLog(@"arr4 = %@",arr4);
        //5)用一个数组可以创建另外一个数组
        NSArray *arr5 = [NSArray arrayWithArray:arr3];
                        NSLog(@"arr5 = %@",arr5);                               
    }
    return 0;
}</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值