越详细越好
123
1、NSArray和NSMutableArray是foundation框架里的,不是swift的也不是objctive-C的,swift中可以使用,是框架兼容swift语言的问题,跟框架里其他东西都用swift重写了一遍一样。2、swift中的Array和[]是一个东西,这个是语言的东西了。3、NSArray和NSMutableArray的区别就是后者是可变数组,可以添加和删除元素。swift的Array不存在可变不可变的问题,对象类型声明为var就是可变,let就是不可变,和swift中其他类型的变量是一个道理,没有专门搞两个类出来。4、swift的array需要指定元素的类型,比如var arr = Array<String>();那么arr里面只能添加String对象,而NSArray/NSMutableArray则没有这种限制.这时因为swift是被设计成类型安全的,会进行类型检查。5.var arr = Array<String>()这个尖括号的使用时模板。可以用来写模板函数,类似:
func test<T>(eme:T) -> Array<T>{ return [eme,eme]; }
然后使用:
let obj1 = self.test("123") let obj2 = self.test(UIFont.systemFontOfSize(14));
在编译期,obj1和obj2就已经是类型已知的了。
首先NSArray和NSMutableArray是Objective-C的数组类型,NSArray和NSMutableArray区别在于,NSArray是用来创建一个固定数组也就是说一旦创建就不能对进行增加,删除或者修改元素,而NSMutableArray是可变数组,用它去创建的数组对象是允许修改数组内的元素的。
Array是Swift的数组,至于[]则是可以用来创建一个Swift空数组的一种方式(不过这种用法前提是需要已知数组类型的情况下才能使用),例如:
var shoppingList: [String] = ["Eggs", "Milk"] //创建一个String类型的数组 shoppingList = [] //让shoppingList变成一个String类型的空数组
另外Swift的数组和OC的数组是有区别的:
1.Swift数组,一个数组只能存储一种特定的元素类型,也就是说数组在定义的时候必须指明数组的类型(方法是通过显式的类型标注或类型推断。这与 Objective-C 的NSArray和NSMutableArray不同,它们一个数组可以存储多种任意类型的对象。 2.OC中数组只能存储class类型,而Swift的数组不仅能存class类型还能存储像Int这种基础类型。
最本质的区别应该[]是值类型,而NSMutableArray是引用类型吧。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
1、NSArray和NSMutableArray是foundation框架里的,不是swift的也不是objctive-C的,swift中可以使用,是框架兼容swift语言的问题,跟框架里其他东西都用swift重写了一遍一样。
2、swift中的Array和[]是一个东西,这个是语言的东西了。
3、NSArray和NSMutableArray的区别就是后者是可变数组,可以添加和删除元素。swift的Array不存在可变不可变的问题,对象类型声明为var就是可变,let就是不可变,和swift中其他类型的变量是一个道理,没有专门搞两个类出来。
4、swift的array需要指定元素的类型,比如var arr = Array<String>();那么arr里面只能添加String对象,而NSArray/NSMutableArray则没有这种限制.这时因为swift是被设计成类型安全的,会进行类型检查。
5.var arr = Array<String>()这个尖括号的使用时模板。可以用来写模板函数,类似:
然后使用:
在编译期,obj1和obj2就已经是类型已知的了。
首先NSArray和NSMutableArray是Objective-C的数组类型,NSArray和NSMutableArray区别在于,NSArray是用来创建一个固定数组也就是说一旦创建就不能对进行增加,删除或者修改元素,而NSMutableArray是可变数组,用它去创建的数组对象是允许修改数组内的元素的。
Array是Swift的数组,至于[]则是可以用来创建一个Swift空数组的一种方式(不过这种用法前提是需要已知数组类型的情况下才能使用),例如:
另外Swift的数组和OC的数组是有区别的:
最本质的区别应该[]是值类型,而NSMutableArray是引用类型吧。