swift 中的数组

     swift可无缝的将oc中的NSArray和NSMubableArray转换为swift对象直接使用.不过在swift中本身也有个Array.他们之间还有

不少的区别.

1.swift找那个的Array是结构体,而oc中的两个数组是类


2.swift array的声明方式比较灵活

let arr1 :[String] = []

let arr2 = [String]()

let arr3 = Array<String>()

let arr4:[String] = [String]()

let arr5:Array = Array<String>()必须带泛型

以上几种种方式可以声明空的Array,只要把 let 改为 var就可以调用增删改等修改数组内容的方法.

NSArray和NSMutableArray,前面的类只能操作一些只读的方法,后者可以修改数组内容,而且构造没有泛型.

也可以使用:

let arr1 = []

let arr2:NSArray = []

let arr3:NSMutableArray = []

let arr4 = NSArray()不能带泛型

特别注意:

在swift中对于NSArray和NSMutableArray申明变量的时候用var,let其实都是可以的,不过编译器推荐都用let

let arr = [],这种方法声明的方式相当于let  arr = NSArray()


3.let 的Array和NSArray,前者还是可以这IDE中调用append方法,而后者根本没有这些改变数组的方法;

var的Array的改变方法有append(),insert(),NSMubableArray中对应的是insertObject(),addObject()方法名有点长.


4.let/var arr = [1,2]这种有值的数组就是Array.也可以通过构造方法来进行声明.


5.Array可以用泛型,oc的两个数组类没有泛型.swift的可以更规范.当然swift的也可以什么都放,只要不指定泛型.


6.let aa = Array(count: 10, repeatedValue: 0)可以通过这种方式来确定一个确定容量的数组.在oc中则是用类似的是

        NSString *strings[3];
        NSString *strings[3] = {@"",@"",@""};
        NSArray *stringsArray = [NSArray arrayWithObjects:strings count:2];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值