1、Swift和Objective-C有什么区别?
1)Swift是强类型(静态)语言,有类型推断,Objective-C弱类型(动态)语言
2)Swift面向协议编程,Objective-C面向对象编程
3)Swift注重值类型,Objective-C注重引用类型
4)Swift支持泛型,Objective-C只支持轻量泛型(给集合添加泛型)
5)Swift支持静态派发(效率高)、动态派发(函数表派发、消息派发)方式,Objective-C支持动态派发(消息派发)方式
6)Swift支持函数式编程(高阶函数)
7)Swift的协议不仅可以被类实现,也可以被Struct和Enum实现
8)Swift有元组类型、支持运算符重载
9)Swift支持命名空间
10)Swift支持默认参数
11)Swift比Objective-C代码更简洁
2、讲讲Swift的派发机制
1)函数的派发机制:静态派发(直接派发)、函数表派发、消息派发
2)Swift派发机制总结:
Swift中所有ValueType(值类型:Struct、Enum)使用直接派发;
Swift中协议的Extensions使用直