如何在 Objective-C 中模拟双重调度

How to Emulate Double Dispatch in Objective-C

我正在尝试在 Objective-C 中模拟 Double Dispatch。

我知道 Objective-C 不支持 function/method 重载。但是你能效仿吗?

任何想法。

您可以像在 C++/C# 中一样使用 2 个单次调度(也称为 "visitor" 模式,请参阅 https://en.wikipedia.org/wiki/Double_dispatch#Double_dispatch_in_C++)。

或者您可以通过对参数进行一些运行时类型检查来手动执行此操作(请参阅 isMemberOfClass)。

在此 repo 中举例说明如何在 Objective-C

中实施 Double Dispatch