1. 函数的派发机制:静态派发(直接派发)、函数表派发、消息派发
2. swift派发机制总结:
● swift中所有值类型:struct、enum使用直接派发
● swift中协议的extensions(类似于OC的分类)使用直接派发,初始声明函数使用函数表派发
● swift中class的extensions使用直接派发,初始化声明函数使用函数表派发,dynamic修饰的函数使用消息派发
● swift中NSObject的子类用@nonobjc或final修饰的函数使用直接派发,初始声明函数使用函数表派发,dynamic修饰的extensions使用消息派发
3. swift中函数派发查看方式:可将swift代码转换为SIL(中间码)
swiftc -emit-silgen -O example.swift