当存在具有相同名称的全局函数时,请小心Swift Extension

在Swift中实现Object Seam时的问题

要认识的基本问题是,当我们在面向对象的程序中查看调用时,它没有定义实际要执行的方法。

现在,您具有以下代码。 一个类调用全局函数。

现在,您要实现对象接缝。 以下实现将产生完全不同的结果。

B中的扩展是单元测试模块,而A中的扩展是其原始模块。

当您运行它时,在其他模块中实现的Swift扩展在动态调度中将具有较低的优先级。