swift的派发机制

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

你可能感兴趣的:(swift的派发机制)