一.编程范式
1.Swift可以面向协议编程,函数式编程,面向对象编程;
2.OC以面向对象编程为主,当然也可以引入类似ReactiveCocoa的类库进行函数式编程;
二.类型安全
1. Swift是一门类型安全的语言,如果代码中使用一个字符串String,那么你就不能错误的传递一个整型Int给它;
2. OC,可以声明一个NSString变量,仍然可以传一个NSNumber给它;
三.值类型增强:
1.Swift中,典型的有struct,enum,及tuple都是值类型;而平时使用的Int,Double, Float, String, Array, Dictionary,Set都是结构体实现的,也是值类型;
2.OC中,NSNumber,NSString和集合类型都是指针类型;
四.枚举增强:
1.Swift的枚举可以使用整型,浮点型,字符串,还能拥有属性和方法,甚至支持泛型,协议,扩展等等;
2.OC里面的枚举则鸡肋很多;
五.泛型
Swift支持泛型,也支持泛型的类型约束;
网友评论