在 Swift 中,方法派发(Method Dispatch)指的是在运行时或编译时决定调用哪个函数或方法的机制。Swift 支持多种派发方式,主要包括以下三种: --- 1. 静态派发(Static Dispatch) 也称为直接派发(Direct Dispatch),是在编译期就确定了要调用的具体方法实现。 - ✅ 优点:性能最好,编译器可以进行内联等优化。 - ❌ 缺点:不支持动态特性(如继承、重写)。 使用场景: - 修饰的方法 - 修饰的类或方法 - 方法(隐式 final) - 值类型(、)中的方法默认是静态派发 - 的函数 --- 2. 虚拟派发 / 动态派发(Dynamic Dispatch / Virtual Table Dispatch) 通过虚函数表(vtable)进行间接调用,适用于类的方法重写。 - ✅ 优点:支持继承和多态。 - ❌ 缺点:比静态派发稍慢,因为需要查表。 使用场景: - 中非 、、、非 overrideable 的方法默认使用 vtable。 - class A { func normalMethod() { } // vtable d...