一.編程范式
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支持泛型,也支持泛型的類型約束;