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就已经是类型已知的了。
网友评论