获得徽章 0
- #每天一个知识点# Swift的派发机制
1)函数的派发机制:静态派发(直接派发)、函数表派发、消息派发
2)Swift派发机制总结:
Swift中所有ValueType(值类型:Struct、Enum)使用直接派发;
Swift中协议的Extensions使用直接派发,初始声明函数使用函数表派发;
Swift中Class中Extensions使用直接派发,初始声明函数使用函数表派发,dynamic修饰的函数使用消息派发;
Swift中NSObject的子类用@nonobjc或final修饰的函数使用直接派发,初始声明函数使用函数表派发,dynamic修饰的Extensions使用消息派发;
3)Swift中函数派发查看方式: 可将Swift代码转换为SIL(中间码)
swiftc -emit-silgen -O example.swift展开评论1
![[流泪]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_6.dde0d83.png)