讲讲Swift的派发机制?

轩辕小不懂 发布于 2021-09-13 15:59
阅读 13
收藏 0
分类:面试与就业
1924
Nen
Nen
- 程序员

函数的派发机制:静态派发(直接派发)、函数表派发、消息派发

Swift派发机制总结:

Swift中所有ValueType(值类型:Struct、Enum)使用直接派发;

Swift中协议的Extensions使用直接派发,初始声明函数使用函数表派发;

Swift中Class中Extensions使用直接派发,初始声明函数使用函数表派发,dynamic修饰的函数使用消息派发;

Swift中NSObject的子类用@nonobjc或final修饰的函数使用直接派发,初始声明函数使用函数表派发,dynamic修饰的Extensions使用消息派发;

Swift中函数派发查看方式: 可将Swift代码转换为SIL(中间码)

swiftc -emit-silgen -O example.swift

请先 登录 后评论