函数的派发机制分为:静态派发(直接派发)、函数表派发、消息派发
1、Swift中所有ValueType(值类型:Struct、Enum)使用直接派发;
2、Swift中协议的Extensions使用直接派发,初始声明函数使用函数表派发;
3、Swift中Class中Extensions使用直接派发,初始声明函数使用函数表派发,dynamic修饰的函数使用消息派发;
4、Swift中NSObject的子类用@nonobjc或final修饰的函数使用直接派发,初始声明函数使用函数表派发,dynamic修饰的Extensions使用消息派发;
Swift中函数派发查看方式: 可将Swift代码转换为SIL(中间码)
网友评论